Où puis-je trouver les documents standard C ou c++?

Pour de nombreuses questions, la réponse semble être trouvé dans "la norme". Cependant, où allons-nous trouver? De préférence en ligne.

googler peut parfois sembler futile, surtout pour les standards c/" class="blnk">C, car ils sont noyés dans le flot de discussions sur les forums de programmation.

pour commencer, puisque ce sont ceux que je cherche en ce moment, où sont les bonnes ressources en ligne pour:

  • C89
  • c99
  • C11
  • C++98
  • c++03
  • C++11
  • C++14
395
demandé sur Christoffer 2008-09-17 14:04:04

12 réponses

PDF versions de la norme

à partir du 1er septembre 2014, les meilleurs emplacements par prix pour les documents de normes C et C++ en PDF sont:

vous ne pouvez généralement pas obtenir d'anciennes révisions d'une norme (aucune norme) directement des organismes de normalisation peu de temps après qu'une nouvelle édition de la norme est publiée. Ainsi, les normes C89, C90, C99, C++98, C++03 seront difficiles à trouver à l'achat auprès d'un organisme de normalisation. Si vous avez besoin d'une ancienne révision d'un standard, cochez Techstreet comme source possible. Par exemple, elle peut toujours fournir la version canadienne de la norme CAN/CSA-ISO/IEC 9899:1990 en format PDF, moyennant des frais.

Imprimer versions de la norme

des exemplaires imprimés des normes sont disponibles auprès des organismes nationaux de normalisation et ISO mais ils sont très coûteux.

si vous voulez une copie papier de la norme C90 pour beaucoup moins d'argent que ci-dessus, vous pouvez être en mesure de trouver une copie utilisée bon marché de Herb Schildt 's book The Annotated ANSI Standard à Amazon , qui contient le texte réel de la norme (utile) et des commentaires sur la norme (moins utile).

les standards C99 et c++03 sont disponibles sous forme de livre auprès de Wiley et le BSI (British Standards Institute):

projets de versions du Comité de normalisation

Le projet de travail pour de futures normes est souvent disponible sur les sites internet du comité:

notez que ces documents ne sont pas les mêmes que la norme, bien que les versions juste avant les réunions qui décident d'une norme sont généralement très proches de ce qui se trouve dans la norme finale. Les versions finales du Comité des normes sont protégées par un mot de passe; vous devez faire partie du Comité des normes pour les obtenir.

cependant, dans mon de l'avis, même si les versions provisoires peuvent être très proches des versions finales ratifiées des normes, vous devriez vraiment obtenir une copie des documents actuels - surtout si vous prévoyez de les citer comme références. Bien sûr, les étudiants affamés devraient aller de l'avant et utiliser les traites si vous êtes à court d'argent.


il semble que, si vous êtes disposé et capable d'attendre quelques mois après la ratification d'une norme, de rechercher "INCITS / ISO / IEC "au lieu de" ISO/IEC " lors de la recherche d'une norme est la clé. De cette façon, j'ai pu trouver la norme C++11 à un prix raisonnable et maintenant la norme C11. Ainsi, à titre d'exemple, vous recherchez "INCITS/ISO / IEC 9899: 2011" au lieu de "ISO / IEC 9899: 2011" sur webstore.ansi.org et vous trouverez la version PDF à un prix raisonnable.

376
répondu Michael Burr 2018-09-05 18:11:12

les versions en ligne de la norme peuvent être trouvées:

, document de Travail, Standard pour la Programmation en Langage C++

tous les projets de norme :

Tous les suivants sont téléchargeables gratuitement

2018-02-12: N4727 git

2017-11-27: N4713 git

2017-10-16: N4700 git

2017-07-30: N4687 git

cela semble être la nouvelle norme:

Cette version nécessite une authentification

2017-03-21: N4660 est le projet de norme C++17

tous les projets de norme :

Tous les suivants sont téléchargeables gratuitement

2017-03-21: N4659 git

2017-02-06: N4640 git

2016-11-28: N4618 git

2016-07-12: N4606 git

2016-05-30: N4594 git

2016-03-19: N4582 git

2015-11-09: N4567 git

2015-05-22: N4527 git

2015-04-10: N4431 git

2014-11-19: N4296 git

cela semble être l'ancienne norme C++14 :

Cette version nécessite une authentification

2014-10-07: N4140 git Essentiellement en C++14 avec de petites erreurs et de fautes de frappe corrigées

2014-09-02: N4141 git Standard C++14

2014-03-02: N3937

2014-03-02: N3936 git

tous les projets de norme :

Tous les suivants sont téléchargeables gratuitement

2013-10-13: N3797 git

2013-05-16: N3691

2013-05-15: N3690

2012-11-02: N3485

2012-02-28: N3376

2012-01-16: N3337 git Essentiellement en C++11 avec de petites erreurs et de fautes de frappe corrigées

cela semble être l'ancienne norme C++11 :

Cette version nécessite une authentification

2011-04-05: N3291 C++11 (Ou Très Proche)

tous les projets de norme :

Tous les suivants sont téléchargeables gratuitement

2011-02-28: N3242 (différences par rapport à n3291 très mineures)

2010-11-27: N3225

2010-08-21: N3126

2010-03-29: N3090

2010-02-16: N3035

2009-11-09: N3000

2009-09-25: N2960

2009-06-22: N2914

2009-03-23: N2857

2008-10-04: N2798

2008-08-25: N2723

2008-06-27: N2691

2008-05-19: N2606

2008-03-17: N2588

2008-02-04: N2521

2007-10-22: N2461

2007-08-06: N2369

2007-06-25: N2315

2007-05-07: N2284

2006-11-03: N2134

2006-04-21: N2009

2005-10-19: N1905

2005-04-27: N1804

cela semble être l'ancienne norme C++03:

Toutes les versions ci-dessous nécessitent une authentification

2004-11-05: N1733

2004-07-16: N1655 Unofficial

2004-02-07: N1577 C++03 (Ou Très Proche)

2001-09-13: N1316 Draft Expanded Rectificatif Technique

1997-00-00: N1117 Projet De Rectificatif Technique Élargi

tous les projets de norme :

Tous les suivants sont téléchargeables gratuitement

1996-00-00: N0836 Projet Élargi Rectificatif Technique

1995-00-00: N0785 Document de Travail pour le Projet Proposé Norme internationale pour les systèmes D'Information-langage de programmation C++

Autres Documents Intéressants:

2018 / 2017 / 2016 / 2015 / 2014 / 2013 / 2012 / 2011

387
répondu Martin York 2018-03-14 19:02:35

C99 est , disponible en ligne . Tiré de www.open-std.org :

la dernière version de la norme disponible au public est la combined C99 + TC1 + TC2 + TC3, WG14 N1256 , dated 2007-09-07. C'est un WG14 document de travail, mais il reflète les états à la norme l'heure de la délivrance.

62
répondu Frederico 2011-12-09 21:26:46

Projet De Liens:

C++11 (+corrections éditoriales): N3337 HTML , PDF

C++14 (+corrections éditoriales): N4140 HTML , PDF

C11 N1570 ( text )

C99 N1256

Brouillons de la Norme sont diffusés pour commentaires avant la ratification et à la publication.

Note qu'un projet de travail n'est pas la norme actuellement en vigueur, et ce n'est pas exactement la norme publiée

19
répondu user1055604 2018-01-10 15:30:30

vous pourriez trouver utile le projet de norme internationale pour C++0x.

12
répondu James Hopkin 2011-01-21 10:11:49

les normes ISO coûtent de l'argent, à partir d'une quantité modérée (version PDF), à un peu plus (pour une version du livre).

bien qu'ils ne soient pas finalisés cependant, ils peuvent généralement être trouvés en ligne, sous forme de brouillons. La plupart du temps, la version finale ne diffère pas de manière significative de la dernière version, donc bien qu'elle ne soit pas parfaite, elle conviendra parfaitement.

8
répondu Pieter 2008-09-17 10:10:45

C99 et C++03 standards sont disponibles sous forme de livre de Wiley:

en Plus, comme déjà mentionné, le projet de travail pour les futures normes est souvent disponible sur les sites Web de la Commission:

Le C-201x projet est disponible en tant que N1336 , et le C++0x projet N3225 .

6
répondu Anthony Williams 2014-08-31 22:05:11

les standards ISO C et C++ sont sacrément chers. D'un autre côté, les incisions les republient pour beaucoup moins. http://www.techstreet.com / semble avoir le PDF pour $ 30 (search for INCITS/ISO / IEC 14882:2003).

Des versions sur papier de

sont également disponibles. Cherchez les versions du British Standards Institute, publiées par Wiley.

3
répondu MSalters 2008-09-17 10:18:04

Les standards actuels documents peuvent ne pas être les plus utiles. La plupart des compilateurs n'appliquent pas entièrement les normes et peuvent parfois même entrer en conflit. Ainsi, la documentation du compilateur que vous auriez déjà sera plus utile. De plus, la documentation contiendra des remarques et des notes propres à la plate-forme sur les mises en garde éventuelles.

3
répondu Kris Kumler 2008-09-17 15:38:42

Le texte d'une le projet de la C ANSI standard (aka C. 89) est disponible en ligne. Cette norme a été normalisée par le Comité de L'ANSI avant d'être acceptée par la norme ISO C (c. 90), de sorte que la numérotation des sections diffère (les sections 2 à 4 de l'ANSI correspondent à peu près aux sections 5 à 7 de L'ISO), bien que le contenu soit (censé être) en grande partie identique.

3
répondu jxh 2018-06-20 17:16:46

bien qu'il ne s'agisse pas d'une norme proprement dite, il existe un amendement à la norme ISO c (C89/90) appelé C94/95, ou L'Addendum normatif 1. Il a été intégré dans C99, bien que certains compilateurs tels que Clang vous permettent de spécifier -std=c94 sur la ligne de commande. ISO / IEC 9899: 1990 / Amd 1:1995 peut être acheté au prix fort à partir de SAI GLOBAL (PDF ou copie papier).

Un résumé du document peut être trouvé ici .

lorsque la norme ANSI C (alors en projet) était envisagée pour adoption d'une norme internationale en 1990, il y a eu plusieurs objections parce qu'il n'a pas abordé les questions d'internationalisation. Étant donné que la norme avait déjà été élaborée il y a plusieurs années, elle a été convenu que quelques modifications seraient apportées pour fournir la base (pour par exemple, les fonctions du sous-alinéa 7.10.7 ont été ajoutées), et le être effectué séparément pour fournir de l'internationalisation de norme. Ces travaux ont abouti à l'additif 1.

Normatif à l'Addendum 1 incarne C est une réaction à la fois les limites et les les promesses de jeux de caractères internationaux. Les digraphes et le en-tête étaient destinés à améliorer l'apparence des programmes C écrit dans variantes nationales de la norme ISO 646 Sans, par exemple, {ou } caractères. Sur le l'autre extrémité du spectre, les installations connectées et étendre la base à peine adéquate de l'ancienne norme dans un ensemble complet et cohérent de utilitaires pour la manipulation de caractères larges et des cordes multibytes.

le présent document résume l'additif 1 à la norme. Il est destiné à rapidement informer les lecteurs qui sont déjà familiers avec la Norme; il n'est pas, et ne peut pas, présenter le sujet complexe qui sous-tend NA1, il ne peut pas non plus remplacer le document original en tant que Manuel de référence. (Néanmoins, il essaie d'être aussi précis que possible, et de son auteur voudrais entendre parler d'éventuelles erreurs ou omissions.)

1
répondu user3920237 2014-12-08 13:36:48

http://c0x.coding-guidelines.com / contient une version HTML de la norme C. En fait, une version légèrement modifiée:

ce site web contient une version modifiée de N1256. Il comprend le libellé qui a été supprimé du projet de loi C-99 (c.-à-d. qui est biffé);) et le libellé utilisé dans C99 (c.-à-d. souligné forme.)

-5
répondu Denilson Sá Maia 2013-09-21 03:39:28