Где я могу найти текущие стандартные документы C или C ++?

StackOverflow https://stackoverflow.com/questions/81656

  •  09-06-2019
  •  | 
  •  

Вопрос

На многие вопросы ответ, по-видимому, можно найти в "стандарте".Однако, где мы это находим?Желательно онлайн.

Поиск в Google иногда может показаться бесполезным, опять же, особенно в отношении стандартов C, поскольку они тонут в потоке обсуждений на форумах по программированию.

Чтобы начать с этого, поскольку это те, которые я ищу прямо сейчас, где есть хорошие онлайн-ресурсы для:

  • С89
  • С99
  • С11
  • C++98
  • C++03
  • C++11
  • C++14
Это было полезно?

Решение

PDF-версии стандарта

По состоянию на 1 сентября 2014 года, лучшими местоположениями по цене для документов по стандартам C и C ++ в формате PDF являются:

Обычно вы не можете получить старые редакции стандарта (любого стандарта) непосредственно от органов по стандартизации вскоре после выпуска новой редакции стандарта.Таким образом, стандарты для C89, C90, C99, C ++ 98, C ++ 03 будет трудно найти для покупки в органе по стандартизации.Если вам нужна старая редакция стандарта, проверьте Технострит как один из возможных источников.Например, он по-прежнему может предоставить канадскую версию стандарта CAN / CSA-ISO / IEC 9899: 1990 в формате PDF за отдельную плату.

Электронные версии стандарта, не в формате PDF

Печатные версии стандарта

Печатные копии стандартов можно получить в национальных органах по стандартизации и ИСО но стоят очень дорого.

Если вам нужна печатная копия стандарта C90 за гораздо меньшие деньги, чем указано выше, возможно, вы сможете найти дешевую подержанную копию Херб Шилдткнига автора Аннотированный Стандарт ANSI в Амазонка, который содержит фактический текст стандарта (полезный) и комментарий к стандарту (менее полезный).

Стандарты C99 и C ++ 03 доступны в виде книги от Wiley и BSI (British Standards Institute).:

Проекты версий комитета по стандартам

С рабочим проектом будущих стандартов часто можно ознакомиться на веб-сайтах комитетов:

Обратите внимание, что эти документы не совпадают со стандартом, хотя версии непосредственно перед совещаниями, на которых принимается решение по стандарту, обычно очень близки к тому, что содержится в окончательном варианте стандарта.Версии FCD (Окончательного проекта комитета) защищены паролем;вы должны быть членом комитета по стандартам, чтобы получить их.

Однако, на мой взгляд, даже несмотря на то, что черновые версии могут быть очень близки к окончательным ратифицированным версиям стандартов, вам действительно следует получить копии реальных документов — особенно если вы планируете цитировать их в качестве ссылок.Конечно, голодающие студенты должны пойти дальше и воспользоваться чеком, если у них нет денег.


Похоже, что, если вы готовы и способны подождать несколько месяцев после ратификации стандарта, ключевым моментом при поиске стандарта является поиск "INCITS / ISO / IEC" вместо "ISO / IEC".Таким образом, я смог найти стандарт C ++ 11 по разумной цене, а теперь и стандарт C11.Итак, в качестве примера вы ищете "INCITS / ISO / IEC 9899: 2011" вместо "ISO / IEC 9899: 2011" на webstore.ansi.org и вы найдете PDF-версию по разумной цене.


Сайт https://wg21.link/ предоставляет краткие URL-ссылки на текущий рабочий проект C ++ и проекты стандартов, а также документы комитета:


Текущий проект стандарта поддерживается в виде источников LaTeX на Гитхаб.Эти исходные тексты могут быть преобразованы в HTML с помощью cxxdraft-htmlgen.Следующие сайты поддерживают созданные таким образом HTML-страницы:

Тим Сонг также поддерживает сгенерированные HTML- и PDF-версии сетевых TS и диапазонов TS.

Другие советы

С онлайн-версиями стандарта можно ознакомиться:

Рабочий проект Стандарта для языка программирования C++

Ниже приведены все черновые версии стандарта:
Все нижеперечисленное можно скачать бесплатно
2019-03-15: N4810 мерзавец
2019-01-21: N4800 мерзавец
2018-11-26: N4791 мерзавец
2018-10-08: N4778 мерзавец
2018-07-07: N4762 мерзавец
2018-05-07: N4750 мерзавец
2018-04-02: N4741 мерзавец
2018-02-12: N4727 мерзавец
2017-11-27: N4713 мерзавец
2017-10-16: N4700 мерзавец
2017-07-30: N4687 мерзавец

Похоже, это новый стандарт:
Для этой версии требуется аутентификация
2017-03-21: N4660 является проектом стандарта C ++ 17

Ниже приведены все черновые версии стандарта:
Все нижеперечисленное можно скачать бесплатно
2017-03-21: N4659 мерзавец
2017-02-06: N4640 мерзавец
2016-11-28: N4618 мерзавец
2016-07-12: N4606 мерзавец
2016-05-30: N4594 мерзавец
2016-03-19: N4582 мерзавец
2015-11-09: N4567 мерзавец
2015-05-22: N4527 мерзавец
2015-04-10: N4431 мерзавец
2014-11-19: N4296 мерзавец

Похоже, это старый стандарт C ++ 14:
Для этой версии требуется аутентификация
2014-10-07: N4140 мерзавец По сути, C ++ 14 с исправленными незначительными ошибками и опечатками
2014-09-02: N4141 мерзавец Стандартный C ++14
2014-03-02: N3937
2014-03-02: N3936 мерзавец

Ниже приведены все черновые версии стандарта:
Все нижеперечисленное можно скачать бесплатно
2013-10-13: N3797 мерзавец
2013-05-16: N3691
2013-05-15: N3690
2012-11-02: N3485
2012-02-28: N3376
2012-01-16: N3337 мерзавец По сути, C ++ 11 с исправленными незначительными ошибками и опечатками

Похоже, это старый стандарт C ++ 11:
Эта версия требует проверки подлинности
2011-04-05: N3291 C ++ 11 (Или очень близко)

Ниже приведены все черновые версии стандарта:
Все нижеперечисленное можно скачать бесплатно
2011-02-28: N3242 (отличия от N3291 очень незначительны)
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

Похоже, это старый стандарт C ++ 03:
Все приведенные ниже версии требуют проверки подлинности
2004-11-05: N1733
2004-07-16: N1655 Неофициальный
2004-02-07: N1577 C ++ 03 (Или очень близко)
2001-09-13: N1316 Проект Расширенного Технического исправления
1997-00-00:N1117 Проект Расширенного Технического исправления

Ниже приведены все черновые версии стандарта:
Все нижеперечисленное можно скачать бесплатно
1996-00-00: N0836 Проект Расширенного Технического исправления
1995-00-00:N0785 Рабочий документ для проекта предлагаемого Международного стандарта для информационных систем - Язык программирования C ++

Другие Интересные статьи:

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

C99 - это доступно онлайн.Цитируется из www.open-std.org:

Последняя публично доступная версия Стандарт в сочетании с C99 + ТС1 + ТЗ2 + ТЗ3, WG14 N1256, датировано 2007-09-07.Это рабочий документ РГ14, но он отражает сводный стандарт на момент выпуска.

Черновик Ссылок:

C ++ 11 (+ редакторские исправления):N3337 HTML, PDF

C ++ 14 (+ редакторские исправления):N4140 HTML, PDF

С11 N1570 (текст)

С99 N1256

Сквозняки положения Стандарта распространяются для комментариев до ратификации и публикации.

Примечание что рабочий проект не является стандартом, действующим в настоящее время, и это не совсем опубликованный стандарт

Вы могли бы найти проект международного стандарта для C ++ 0x полезно.

Стандарты ISO стоят денег, от умеренной суммы (для PDF-версии) до немного большей (для книжной версии).

Однако, хотя они еще не доработаны, их обычно можно найти в Интернете в виде черновиков.В большинстве случаев окончательная версия существенно не отличается от последнего черновика, так что, хотя они и не идеальны, они вполне подойдут.

Стандарты C99 и C ++ 03 доступны в виде книги от Wiley:

Кроме того, как уже упоминалось, рабочий проект будущих стандартов часто доступен на веб-сайтах комитетов:

Проект C-201x доступен в виде N1336, и проект C ++ 0x как N3225.

Стандарты ISO C и C ++ чертовски дороги.С другой стороны, The INCITS переиздает их за гораздо меньшую цену. http://www.techstreet.com/ кажется, есть PDF-файл за 30 долларов (поиск по INCITS / ISO / IEC 14882: 2003).

Также доступны печатные версии.Поищите версии British Standards Institute, опубликованные Wiley.

Текст документа, содержащего проект стандарта ANSI C (он же C.89) доступен в Интернете.Это было стандартизировано комитетом ANSI до принятия стандарта ISO C (C.90), поэтому нумерация разделов отличается (разделы ANSI 2-4 примерно соответствуют разделам ISO 5-7), хотя содержание (предполагается) в значительной степени идентичным.

Сами документы по стандартам могут оказаться не самыми полезными.Большинство компиляторов не полностью реализуют стандарты и иногда могут фактически конфликтовать.Таким образом, документация по компилятору, которая у вас уже есть, будет более полезной.Кроме того, документация будет содержать замечания, относящиеся к конкретной платформе, и примечания по любым оговоркам.

Хотя это и не фактический стандарт, существует поправка к ISO C (C89 / 90), называемая C94 /95, или Нормативное дополнение 1.Он был интегрирован в C99, хотя некоторые компиляторы, такие как Лязг позвольте вам указать -std=c94 в командной строке.ISO / IEC 9899: 1990 / Amd 1: 1995 можно приобрести по высокой цене в САИ ГЛОБАЛ (PDF или печатная копия).

Краткое изложение этого документа можно найти здесь здесь.

Когда (тогдашний проект) стандарта ANSI C рассматривался на предмет принятия Международного стандарта в 1990 году, было несколько возражений, поскольку в нем не рассматривались вопросы интернационализации.Потому что стандарт уже несколько лет, он было решено, что некоторые изменения будут сделаны, чтобы создать основу (для например, функции подпунктом 7.10.7 были добавлены), и работа будет осуществляться отдельно, чтобы обеспечить надлежащую интернационализации стандартная.Кульминацией этой работы стало Нормативное дополнение 1.

Реакция нормативных приложение 1 воплощает С К и ограничений и обещает международных наборов символов.Орграфы и заголовок были предназначены для улучшения внешнего вида программ на C, написанных на национальных вариантах ISO 646 без, например, символов { или }.На другом конце спектра находятся средства, подключенные к и расширяющие едва достаточную основу старого стандарта в полный и согласованный набор утилит для обработки больших символов и многобайтовых строк.

В настоящем документе кратко излагается Нормативное Добавление 1.Он предназначен для оперативно информировать читателей, которые уже знакомы со стандартом;он не представляет и не может представлять сложную тему, стоящую за NA1, и не может заменить оригинальный документ в качестве справочного руководства.(Тем не менее, он старается быть максимально точным, и его автор хотел бы услышать о любых ошибках или упущениях.)

http://c0x.coding-guidelines.com/ содержит версию стандарта C с возможностью поиска на основе HTML.На самом деле, это слегка измененная версия:

Этот веб-сайт содержит измененную версию N1256.Он включает формулировку, которая была удалена из C99 (т.Е. в зачеркнутой форме) и формулировку, которая раньше появлялась в C99 (т.е. в подчеркнутой форме).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top