Gdzie znajdę aktualne dokumenty w standardzie C lub C++?

Na wiele pytań odpowiedź wydaje się znaleźć w "standardzie". Ale gdzie to znajdziemy? Najlepiej online.

Googling może czasami wydawać się daremny, szczególnie dla standardów C, ponieważ utonęły one w powodzi dyskusji na forach programistycznych.

Aby zacząć, ponieważ są to te, których obecnie Szukam, gdzie są dobre zasoby online za:

  • C89
  • C99
  • C11
  • C++98
  • C++03
  • C++11
  • C++14
Author: Christoffer , 2008-09-17

12 answers

PDF wersje standardu

[2]} od 1 września 2014 r. najlepsze lokalizacje według cen dla dokumentów C i C++ w formacie PDF to:

Zazwyczaj nie można uzyskać starych wersji standardu (dowolnego standardu) bezpośrednio od organów normalizacyjnych wkrótce po wydaniu nowej wersji standardu. Tak więc standardy dla C89, C90, C99, C++98, C++03 będą być trudno znaleźć do zakupu od organu standardów. Jeśli potrzebujesz starej wersji standardu, sprawdź Techstreet jako jedno z możliwych źródeł. Na przykład nadal może dostarczyć kanadyjską wersję CAN / CSA-ISO/IEC 9899:1990 standard w formacie PDF, za opłatą.

Wydrukuj wersje standardu

Drukowane kopie norm są dostępne w krajowych organach normalizacyjnych i ISO , ale są bardzo drogie.

Jeśli chcesz mieć twardą kopię standardu C90 za znacznie mniej pieniądze niż wyżej, być może uda Ci się znaleźć tanią używaną kopię Książki Herba Schildta Annotowany Standard ANSI at Amazon , który zawiera rzeczywisty tekst standardu (przydatny) i komentarz do standardu (mniej przydatny). [2]}standardy C99 i C++03 są dostępne w formie książki od Wiley i BSI (British Standards Institute):

Projekty wersji Komitetu Normalizacyjnego

Projekt roboczy przyszłych norm jest często dostępny na stronach internetowych Komitetu:

Zauważ, że te dokumenty nie są takie same jak standard, choć wersje tuż przed spotkaniami, które decydują o standardzie, są zwykle bardzo zbliżone do tego, co jest w ostatecznym standardzie. Wersje FCD (Final Committee Draft) są chronione hasłem; musisz być w Komitecie Normalizacyjnym, aby je zdobyć.

Jednakże, moim zdaniem, nawet jeśli wersje projektu mogą być bardzo zbliżone do ostatecznych ratyfikowanych wersji standardów, naprawdę powinieneś dostać kopię rzeczywistych dokumentów-zwłaszcza jeśli planujesz cytować je jako odniesienia. Oczywiście głodujący studenci powinni korzystać z projektów, jeśli są przywiązani do gotówki.


Wydaje się, że, jeśli jesteś chętny i w stanie poczekać kilka kilka miesięcy po ratyfikacji standardu kluczem jest szukanie "INCITS/ISO/IEC "zamiast" ISO / IEC " podczas szukania standardu. W ten sposób udało mi się znaleźć standard C++11 w rozsądnej cenie, a teraz standard C11. Tak więc, jako przykład szukasz "INCITS / ISO / IEC 9899:2011 "zamiast" ISO/IEC 9899: 2011 " na webstore.ansi.org i znajdziesz niedrogą wersję PDF.

 376
Author: Michael Burr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-05 18:11:12

Wersje online standardu można znaleźć:

Roboczy szkic, Standard dla języka programowania C++

następujące wszystkie wersje projektu standardu:
Wszystkie poniższe są do pobrania za darmo
2018-02-12: N4727 git
2017-11-27: N4713 git
2017-10-16: N4700 git
2017-07-30: N4687 git

to wydaje się być nowy standard:
Ta wersja wymaga uwierzytelnienia
2017-03-21: N4660 is the C++17 Draft Standard

następujące wszystkie wersje projektu standardu:
Wszystkie poniższe są do pobrania za darmo
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

to chyba stary standard C++14:
Ta wersja wymaga uwierzytelnienia
2014-10-07: N4140 git zasadniczo C++14 z drobnymi błędami i literówkami Poprawiono
2014-09-02: N4141 Git Standard C++14
2014-03-02: N3937
2014-03-02: N3936 git

następujące wszystkie wersje projektu standardu:
Wszystkie poniższe są do pobrania za darmo
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 zasadniczo C++11 z drobnymi błędami i literówkami poprawionymi

to chyba stary standard C++11:
Ta wersja wymaga uwierzytelnienia
2011-04-05: N3291 C++11 (Lub Bardzo Blisko)

następujące wszystkie wersje projektu standardu:
Wszystkie poniższe są do pobrania za darmo
2011-02-28: N3242 (różnice od N3291 bardzo minor)
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

Wydaje się, że jest to stary standard C++03:
Wszystkie poniższe wersje wymagają uwierzytelnienia
2004-11-05: N1733
2004-07-16: N1655 Unofficial
2004-02-07: N1577 C++03 (Lub Bardzo Blisko)
2001-09-13: N1316 Projekt Rozszerzonego Sprostowania Technicznego
1997-00-00: N1117 Projekt Rozszerzonego Sprostowania Technicznego

następujące wszystkie wersje projektu standardu:
Wszystkie poniższe są do pobrania za darmo
1996-00-00: N0836 Projekt Rozszerzonego Sprostowania Technicznego
1995-00-00: N0785 Working Paper for Draft Proposed International Standard for Systemy Informatyczne-Język Programowania C++

Inne Ciekawe Artykuły:

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

 387
Author: Martin York,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-14 19:02:35

C99 jest Dostępny online. Cytat z www.open-std.org :

Ostatnią dostępną publicznie wersją standardu jest combined C99 + TC1 + TC2+ TC3, WG14 N1256 , z dnia 2007-09-07. To jest Dokument roboczy WG14, ale odzwierciedla skonsolidowany standard w czas wydania.

 62
Author: Frederico,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-09 21:26:46

Projekty Linków:

C++11 (+poprawki redakcyjne): N3337 HTML, PDF

C++14 (+poprawki redakcyjne): N4140 HTML, PDF

C11 N1570 (tekst )

C99 N1256

Projekty standardu są rozsyłane w celu skomentowania przed ratyfikacją i publikacją.

Uwaga , że roboczy szkic nie jest obecnie obowiązującym standardem i nie jest do końca opublikowany standard

 19
Author: user1055604,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-10 15:30:30

Możesz znaleźć projekt międzynarodowego standardu dla C++0x przydatny.

 12
Author: James Hopkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-21 10:11:49

Normy ISO kosztują, od umiarkowanej kwoty (dla wersji PDF), do nieco więcej (dla wersji książkowej).

Chociaż nie są one jednak sfinalizowane, zwykle można je znaleźć w Internecie, jako szkice. W większości przypadków ostateczna wersja nie różni się znacząco od ostatniego projektu, więc chociaż nie jest idealna, będzie pasować dobrze.

 8
Author: Pieter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 10:10:45

Standardy C99 i C++03 są dostępne w formie książkowej od Wiley:

Plus, jak już wspomniano, projekt roboczy przyszłych norm jest często dostępny na stronach internetowych Komitetu:

Wersja C-201x jest dostępna jako N1336, a wersja C++0x jako N3225.
 6
Author: Anthony Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-31 22:05:11

Standardy ISO C i C++ są cholernie drogie. Z drugiej strony, INCITS publikuje je za dużo mniej. http://www.techstreet.com / wydaje się, że PDF za 30 $ (Szukaj INCITS/ISO / IEC 14882:2003).

Dostępne są również wersje w wersji papierowej. Poszukaj wersji British Standards Institute, opublikowanych przez Wiley.

 3
Author: MSalters,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 10:18:04

Rzeczywiste dokumenty norm mogą nie być najbardziej przydatne. Większość kompilatorów Nie w pełni implementuje standardy i czasami może być w rzeczywistości sprzeczna. Więc dokumentacja kompilatora, którą już posiadasz, będzie bardziej przydatna. Ponadto dokumentacja będzie zawierać uwagi dotyczące platformy i uwagi dotyczące wszelkich zastrzeżeń.

 3
Author: Kris Kumler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 15:38:42

Tekst projektu standardu ANSI C (aka C. 89) jest dostępny online. Został on ustandaryzowany przez Komitet ANSI przed zaakceptowaniem przez normę ISO C (C. 90), więc numeracja sekcji różni się (sekcje ANSI od 2 do 4 odpowiadają mniej więcej sekcjom ISO od 5 do 7), chociaż treść jest (przypuszczalnie) w dużej mierze identyczna.

 3
Author: jxh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-20 17:16:46

Chociaż nie jest to prawdziwa norma, istnieje poprawka do ISO C (C89/90) o nazwie C94/95, lub dodatek normatywny 1. Został on zintegrowany z C99, chociaż niektóre Kompilatory, takie jak Clang pozwalają określić -std=c94 w wierszu poleceń. ISO / IEC 9899: 1990 / Amd 1: 1995 można nabyć za sporą cenę od SAI GLOBAL (PDF lub wydruku).

Streszczenie dokumentu można znaleźć tutaj .

Kiedy rozważano (wówczas projekt) Standard ANSI C dla przyjęcie międzynarodowego standardu w 1990 roku, było kilka obiekcje, ponieważ nie dotyczyło kwestii internacjonalizacji. Ponieważ Standard był już kilka lat w tworzeniu, to uzgodniono, że zostaną wprowadzone kilka zmian, aby zapewnić podstawę (dla przykład, funkcje w subclause 7.10.7 zostały dodane), a praca będzie być przeprowadzane oddzielnie w celu zapewnienia właściwa Internacjonalizacja Standard. Prace te zakończyły się normatywnym dodatkiem 1.

Dodatek normatywny 1 uosabia reakcję C zarówno na ograniczenia, jak i obietnice międzynarodowych zestawów znaków. Digraphs and the nagłówek miał poprawić wygląd programów C napisanych w krajowe warianty ISO 646 bez, np., {lub } znaków. Na innego końca widma, obiektów przyłączonych do i rozszerzyć stary Standard ledwo wystarcza podstawa do kompletny i spójny zestaw narzędzi do obsługi szerokich znaków i struny wielobajtowe.

Niniejszy dokument podsumowuje dodatek normatywny 1. Przeznaczony jest do szybko poinformować czytelników, którzy są już zaznajomieni ze standardem; to nie wprowadza i nie może przedstawiać skomplikowanej tematyki stojącej za NA1, nie może również zastąpić oryginalnego dokumentu jako podręcznika referencyjnego. (Niemniej jednak stara się być jak najdokładniejsza, a jego autor would like to hear o wszelkich błędach lub pominięciach.)

 1
Author: user3920237,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-08 13:36:48

Http://c0x.coding-guidelines.com/ zawiera przeszukiwalną, opartą na HTML wersję standardu C. Właściwie nieco zmodyfikowana wersja:

Ta strona zawiera zmodyfikowaną wersję N1256. Obejmuje on sformułowania, które zostały usunięte z C99 (tj. w formie) i sformułowań, które nie występują w C99 (tj. w formularz).

 -5
Author: Denilson Sá Maia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-21 03:39:28