1、获取C和C++标准文档的官方途径
ISO官方网站,ISO(国际标准化组织)发布了正式的C和C++标准文档。C标准文档(如ISO/IEC 9899:2018,即C18标准),C++标准文档(如ISO/IEC 14882:2020,即C++20标准)。这些标准文档是经过正式验证的完整版本,适合需要正式标准文档的开发者或公司。然而,它们通常是收费的。
2、免费或开源的替代资源
虽然官方标准是收费的,但有许多资源可以帮助免费获取标准内容的解读或几乎等同的资源。
1)Draft(草案)版本的标准
在标准最终发布前,草案版本通常是免费的。这些草案通常与最终的标准非常接近,开发者可以通过它们来参考几乎所有的标准内容。
C标准草案:
可以通过搜索找到 C11 或 C18 标准的草案版。例如:N1570草案 是C11标准的草案,几乎与最终标准相同。
C++标准草案:
C++标准委员会经常公开发布草案,像 C++11 标准草案 N3337 是C++11标准的一个草案版本,几乎完全与最终发布的标准一致。
你可以在 WG21文档页面 中查找最新的C++草案。
2)cppreference.com
cppreference.com 是一个免费的在线参考资料网站,提供了C和C++标准库函数、数据结构以及语言特性的详细解释。虽然它不是官方标准文档,但它的内容详细且紧跟最新标准,并且提供了清晰的文档说明。
C语言部分:C标准库
C++语言部分:C++标准库
3)GCC和Clang文档
开源编译器如 GCC 和 Clang 也提供了详细的文档,涵盖了许多与C和C++标准相关的特性。
GCC文档:https://gcc.gnu.org/onlinedocs/
Clang文档:https://clang.llvm.org/docs/
这些文档不仅介绍了编译器的使用,还提供了对C和C++标准的支持说明。
3、标准委员会网站
WG14(C语言标准委员会):http://www.open-std.org/jtc1/sc22/wg14/
提供C语言标准的相关信息,包括会议报告、草案文档等。
WG21(C++语言标准委员会):http://www.open-std.org/jtc1/sc22/wg21/
提供C++标准的相关文档、草案等。
4、非官方书籍和指南
有许多优秀的书籍和指南解释了C和C++标准的最新特性,这些书籍虽然不是官方标准,但它们对理解标准中的复杂概念非常有帮助:
1)C语言
《C Programming Language》(又称K&R书),是由C语言发明者之一编写的,虽然是基于早期版本的标准,但它仍然是理解C语言基础的经典书籍。
2)C++语言
《The C++ Programming Language》 by Bjarne Stroustrup,是C++语言设计者所编写的书,涵盖了语言的许多复杂细节和标准特性。
《Effective Modern C++》 by Scott Meyers,解释了C++11和C++14中的许多重要特性。
参考文档:C语言相关书籍