Frage

Ich habe mir jemanden sagen lassen, dass C ++ 98 unter ANSI geschrieben wurde, bevor er offiziell als ISO/IEC 14882: 1998 standardisiert wurde.

Ich weiß, dass ANSI mit C beteiligt war, aber ich kann nicht viel beweisen, dass der Ausdruck "Ansi C ++" furchtbar genau ist.

  • Ist "Ansi C ++" eine gute Beschreibung für C ++ 98?
  • Ist "Ansi C ++" eine gute Beschreibung für nachfolgende Versionen des C ++ - Standards?
War es hilfreich?

Lösung

Anfänglich wurde in '89 die Standardisierung von C ++ von ANSI X3J16 behandelt. Ab '91 ISO WG21 hat sich angeschlossen. Möglicherweise möchten Sie BSs lesen Eine Geschichte von C ++: 1979-1991. IMO, "Ansi C ++" ist nur ein übrig gebliebener Name; Die Sprache ist "ISO C ++", obwohl ANSI indirekt an der Standardisierung beteiligt ist.

Andere Tipps

Dies gotw Seite beschreibt das Verhältnis von ANSI und ISO, was C ++ betrifft, kurz:

Die offiziellen Namen der ISO- und US -Ausschüsse sind:

ISO/IEC JTC1/SC22/WG21 - C ++ (ISO C ++ - Komitee)

Incits PL22.16 - C ++ (das US -amerikanische C ++ - Ausschuss, oft als "ANSI C ++ - Komitee" bezeichnet -, obwohl es genauer gesagt eine separate Organisation ist, die nicht Teil von ANSI ist, sondern von ANSI zur Entwicklung von US -Standards akkreditiert ist) (zuvor genannt X3J16 und J16)

Diese beiden Gruppen zusammen werden im Singular häufig als "The C ++ - Komitee" bezeichnet, weil sie sich treffen und ihre Arbeit erledigen. Die Treffen befinden sich immer gleichzeitig im selben Raum

Es klingt so, als würde der von diesem Komitee entwickelte ISO -Standard automatisch zum US -Standard werden, obwohl ich sicher bin, dass Menschen, die tatsächlich in diesen Ausschüssen arbeiten, besser erklären können.

Irgendwie, aber nicht wirklich. Es gab und war noch nie ein separater ANSI -Standard für C ++.

Der aktuelle Standard ist jedoch tatsächlich Incits/ISO/IEC 14882-2003. Ab 2003 wurden Incits zu einer separaten ANSI-akkreditierten Organisation. Der Name Incits war nicht neu, aber zuvor war er Teil von ANSI gewesen. Im Jahr 2003 war es ""ausgeschaltet"Als separate (aber immer noch ansikeditierte) Organisation. Der aktuelle (2003) Standard zeigt sich daher als Incits/ISO/IEC-Standard, und ich glaube, der bevorstehende (2011) Standard wird auch.

C ++ 98 wurde von einem internationalen Komitee, einem Teil der Internationalen Organisation für Standardisierung (ISO), entwickelt. ANSI und andere nationale Standards sind Mitglieder dieses Komitees. Der internationale Standard wurde von ANSI als Nationalstandard der USA und ebenfalls von vielen anderen nationalen Standards übernommen.

Frühere Versionen wurden in den USA von AT & T kommerziell entwickelt; Ich bin mir nicht sicher, ob Ansi an Zwischenversionen beteiligt war (Bearbeiten: Aber Eriks Antwort deutet darauf hin, dass dies kurz war).

Ist "Ansi C ++" eine gute Beschreibung für C ++ 98?

Ich würde es "Standard C ++" oder "C ++ 98" oder nur "C ++" nennen, wenn klar ist, dass ich über den aktuellen Standard spreche. Obwohl "ANSI C ++" technisch korrekt ist, kann es Menschen verwirren, die nicht erkennen, dass dies dasselbe bedeutet, insbesondere Menschen aus anderen Ländern, die möglicherweise nicht wissen, was ANSI ist. Ich würde wahrscheinlich seltsam aussehen, wenn ich es "British Standard C ++" nennen würde, eine ebenso genaue Beschreibung.

Ist "Ansi C ++" eine gute Beschreibung für nachfolgende Versionen des C ++ - Standards?

Gleiche Antwort. Die C ++ - Standards werden von ISO entwickelt und von ANSI und anderen Leichen übernommen.

Afaik Wenn sie "Ansi C ++" sagen, bedeuten sie wirklich "keine Compiler-spezifischen Erweiterungen".

Die ISO Working Party erstellt den Standard. C ++ 98 ließ eine Menge Arbeit an der Standardisierung in Amerika (weil dort C ++ geschaffen wurde und dort lebten), bevor die Standardisierung unter die Schirmherrschaft des ISO -Komitees (die dieselbe Personen waren) unter der Schirmherrschaft aufgenommen wurde. Der endgültige ISO -Standard wurde dann von ANSI und anderen nationalen Standardbehörden übernommen.

Ich habe immer Standard C ++ als "Standard C ++" bezeichnet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top