Domanda

Ho avuto qualcuno che mi diceva che C ++ 98 era scritto sotto ANSI prima di essere formalmente standardizzato come ISO/IEC 14882: 1998.

So che ANSI è stato coinvolto con C, ma non riesco a trovare molto in termini di prova che la frase "ANSI C ++" è terribilmente accurata.

  • "Ansi C ++" è una buona descrizione per C ++ 98?
  • "Ansi C ++" è una buona descrizione per le versioni successive dello standard C ++?
È stato utile?

Soluzione

Inizialmente, nel '89, la standardizzazione di C ++ è stata gestita da ANSI X3J16. A partire dal '91 ISO WG21 si è unito. Potresti voler leggere BS's Una storia di C ++: 1979-1991. IMO, "Ansi C ++" è solo un nome rimanente; Il linguaggio è "ISO C ++" anche se ANSI è indirettamente coinvolto nella standardizzazione.

Altri suggerimenti

Questo Pagina GOTW Descrive la relazione di ANSI e ISO per quanto riguarda C ++, brevemente:

I nomi ufficiali degli ISO e dei comitati statunitensi sono:

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

Incita PL22.16 - C ++ (il comitato C ++ USA, spesso chiamato "comitato ANSI C ++" - sebbene incita più accuratamente sia un'organizzazione separata che non fa parte di ANSI ma è accreditato da ANSI per sviluppare gli standard statunitensi) (precedente X3J16 e J16)

Questi due gruppi insieme sono spesso indicati nel singolare come "il comitato C ++" perché si incontrano e fanno il loro lavoro insieme. Le riunioni sono sempre nella stessa stanza allo stesso tempo

Sembra che lo standard ISO sviluppato da questo comitato diventa automaticamente lo standard statunitense, anche se sono sicuro che le persone che lavorano effettivamente in quei comitati possono spiegare meglio.

Un po ', ma non proprio. Non c'è, e non è mai stato uno standard ANSI separato per C ++.

Lo standard attuale, tuttavia, è in realtà Incit/ISO/IEC 14882-2003. A partire dal 2003, gli Incits sono diventati un'organizzazione ANSI-ACCRIMICATA separata. Il nome incita non era nuovo, ma in precedenza era stato parte di ANSI. Nel 2003 era "girato"Come organizzazione separata (ma ancora ansi-accreditata). Lo standard attuale (2003) si presenta quindi come uno standard InCit/ISO/IEC e credo che lo standard imminente (2011) lo farà anche.

C ++ 98 è stato sviluppato da un comitato internazionale, parte dell'Organizzazione internazionale per la standardizzazione (ISO). ANSI e altri organi di standard nazionali sono membri di questo comitato. Lo standard internazionale è stato adottato dall'ANSI come standard nazionale degli Stati Uniti e allo stesso modo da molti altri organi di standard nazionali.

Le versioni precedenti sono state sviluppate commercialmente negli Stati Uniti da AT&T; Non sono sicuro se ANSI sia stato coinvolto o meno in versioni intermedie (EDIT: ma la risposta di Erik suggerisce che lo era, brevemente).

"Ansi C ++" è una buona descrizione per C ++ 98?

Lo chiamerei "standard C ++", o "C ++ 98", o semplicemente "C ++" se è chiaro che sto parlando dello standard attuale. Sebbene tecnicamente accurato, "ANSI C ++" potrebbe confondere le persone che non si rendono conto che significa la stessa cosa, in particolare le persone di altri paesi che potrebbero non sapere cosa sia ANSI. Probabilmente avrei un aspetto strano se lo chiamassi "British Standard C ++", una descrizione altrettanto accurata.

"Ansi C ++" è una buona descrizione per le versioni successive dello standard C ++?

Stessa risposta. Gli standard C ++ sono sviluppati da ISO e adottati da ANSI e altri corpi.

Afaik Quando dicono "Ansi C ++", significano davvero "nessuna estensione specifica del compilatore".

La festa di lavoro ISO crea lo standard. C ++ 98 ha fatto molto lavoro sulla standardizzazione in America (perché è qui che è stato creato C ++ e dove vivevano i suoi creatori) prima che la standardizzazione fosse presa sotto gli auspici del comitato ISO (che erano le stesse persone). Lo standard ISO finale è stato quindi adottato da ANSI e da altre autorità nazionali.

Mi sono sempre riferito al C ++ standard come "C ++ standard".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top