Question

J'ai eu quelqu'un me dire que C ++ 98 a été écrit en ANSI avant d'être officiellement normalisé ISO / CEI 14882:. 1998

Je sais que ANSI a été impliqué avec C, mais je ne peux pas sembler trouver beaucoup de la manière de la preuve que l'expression « ANSI C ++ » est terriblement précis.

  • est "ANSI C ++" une bonne description pour C ++ 98?
  • est "ANSI C ++" une bonne description pour les versions ultérieures du standard C ++?
Était-ce utile?

La solution

Dans un premier temps, en '89, la normalisation de C ++ a été traitée par ANSI X3J16. À partir de '91 ISO WG21 rejoint Vous pouvez lire BS Une histoire de C ++.: 1979-1991 . OMI, « ANSI C ++ » est juste un nom de restes; la langue est « ISO C ++ », même si la norme ANSI est indirectement impliqué dans la normalisation.

Autres conseils

GotW décrit la relation entre ANSI et ISO pour autant que C ++ concerne, brièvement:

Les noms officiels des comités ISO et américains sont les suivants:

ISO / IEC JTC1 / SC22 / WG21 - C ++ (++ comité ISO C)

INCITS PL22.16 - C ++ (comité ++ US C, souvent appelé le « comité ANSI C ++ » - bien que plus INCITS avec précision est une organisation distincte qui ne fait pas partie de la norme ANSI, mais est accrédité par ANSI pour élaborer des normes américaines) (anciennement appelé X3J16 et J16)

Ces deux groupes sont souvent qualifiés au singulier comme « le comité C ++ » parce qu'ils se rencontrent et font leur travail ensemble. Les réunions sont toujours dans la même pièce en même temps

Il semble que la norme ISO développée par ce comité devient automatiquement la norme américaine, bien que je suis sûr que les gens qui en fait le travail dans ces comités peuvent expliquer mieux.

Un peu, mais pas vraiment. Il n'y a pas, et n'a jamais été une norme distincte ANSI C ++.

Cependant, le standard actuel, est en fait INCITS / ISO / IEC 14882-2003 . En 2003, INCITS est devenu un organisme distinct accrédité par ANSI. Le nom INCITS n'était pas nouvelle, mais auparavant, il avait fait partie de la norme ANSI. En 2003, il était « essaimé » comme séparé ( mais encore accrédité ANSI organisation). Le courant (2003) montre donc la norme comme un INCITS / norme ISO / CEI, et je crois que la norme à venir (2011) sera également.

C ++ 98 a été développé par un comité international, une partie de l'Organisation internationale de normalisation (ISO). ANSI et d'autres organismes de normalisation nationaux, sont membres de ce comité. La norme internationale a été adopté par ANSI comme la norme nationale américaine, et également par de nombreux autres organismes nationaux de normalisation.

Les versions antérieures ont été développées aux États-Unis dans le commerce par AT & T; Je ne sais pas si oui ou non ANSI a été impliqué dans des versions intermédiaires (EDIT: mais la réponse d'Erik suggère qu'il était, brièvement).

est "ANSI C ++" une bonne description pour C ++ 98?

Je l'appellerais « standard C ++ », ou « C ++ 98 », ou tout simplement « C ++ » s'il est clair que je parle de la norme actuelle. Bien que techniquement précis, « ANSI C ++ » pourrait dérouter les gens qui ne se rendent pas compte que cela signifie la même chose, en particulier les gens d'autres pays qui pourraient ne pas savoir ce qui est ANSI. Je serais probablement obtenir des regards bizarres si je l'ai appelé « British Standard C ++ », une description aussi précise.

est "ANSI C ++" une bonne description pour les versions ultérieures du standard C ++?

Même réponse. Les normes C ++ sont développées par l'ISO, et adopté par l'ANSI et d'autres organismes.

AFAIK quand ils disent "ANSI C ++", ils veulent vraiment dire "pas d'extensions spécifiques au compilateur".

Le groupe de travail ISO crée la norme. C ++ 98 avait beaucoup de travail sur la normalisation en Amérique (parce que ce où C ++ a été créé, et où ses créateurs ont vécu) avant que la normalisation a été prise sous les auspices du comité ISO (qui étaient les mêmes personnes). a ensuite adopté la dernière norme ISO par ANSI, et d'autres autorités nationales de normalisation.

Je l'ai toujours fait référence à la norme C ++ comme "standard C ++".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top