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
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:
- C++17-ISO / IEC 14882: 2017: $ 116 from ansi.org
- C++14 – ISO / IEC 14882: 2014: $ 90 NZD (environ $60 US) from Standards New Zealand
-   C++11-ISO / IEC 14882: 2011:     60 $ de ansi.org$ 60 de Techstreet
-   C++03-ISO 14882:2003:     $30 à partir de ansi.org$ 48 de SAI Global
-    C++98 – ISO/CEI 14882:1998: $90 NZD (environ $60 US) from Standards New Zealand 
-   C17 / C18 – ISO / IEC 9899: 2018: 232 $ de ansi.org / N2176 / c17_updated_proposed_fdis.PDF draft à partir de novembre 2017 
-   C11-ISO / CEI 9899:2011:     $30$60 à partir de ansi.org / WG14 draft version N1570
-   C99-ISO 9899:1999:     $30$60 à partir de ansi.org / WG14 draft version N1256
-   C90-AS 3955-1991:     141 $ de ansi.org175 $de Techstreet (la version australienne de C90, identique à la norme ISO 9899:1990)
- C90-9899: 1990 version imprimée disponible auprès de SAI Global (88 $ + frais d'expédition)
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):
- C++03 Standard on Amazon
- Standard C99 sur Amazon
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.
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:
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.
Projet De Liens:
C++11 (+corrections éditoriales): N3337 HTML , PDF
C++14 (+corrections éditoriales): N4140 HTML , PDF
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
vous pourriez trouver utile le projet de norme internationale pour C++0x.
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.
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 .
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 desont également disponibles. Cherchez les versions du British Standards Institute, publiées par Wiley.
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.
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.
  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.)
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.)