所有 C++ 库实体都在在一个或多个标准标头中声明或定义。 此实现包括 C++ 标准版不需要的两个额外标头:
C++ 标准版定义两种类型的符合标准的库:
托管实现,它支持 C++ ISO 标准所描述的所有必需的标准库标头。
独立实现,它仅需要标准库标头的一个子集。 所需的子集为:
独立标头子集
自 C++11 起,已弃用以下标头:
独立实现和托管实现之间的其他差异包括:
托管实现需要一个名为 main 的全局函数。 独立实现可以定义其自己的启动和终止函数。
托管实现必须支持同时运行多个线程。 独立实现的实现器决定其库是否支持并发线程。
Microsoft C++ 标准库同时满足独立和托管要求。
C++ 库标头有两个更广泛的细分:
iostreams 约定。
C++ 标准库 (STL) 参考约定。
本节包含以下部分:
使用 C++ 库标头
C++ 库约定
iostreams 约定
C++ 程序启动和终止
安全库:C++ 标准库
经过检查的迭代器
调试迭代器支持
C++ 标准库 (STL) 参考
C++ 标准库中的线程安全
stdext 命名空间
正则表达式 (C++)
有关 Visual C++ 运行时库的详细信息,请参阅 CRT 库功能。
注意
Microsoft 对 C++ 标准库的实现通常称为 STL 或标准模板库。 尽管 C++ 标准库是 ISO 14882 中定义的库的正式名称,但由于搜索引擎中常用“STL”和“标准模板库”,因此我们偶尔使用这些名称,以便更轻松地查找文档。
根据历史记录,“STL”最初是指 Alexander Stepanov 编写的标准模板库。 该库的一部分与 ISO C 运行时库、Boost 库的一部分和其他功能一起在 C++ 标准库中进行了标准化。 有时,“STL”还用于表示根据 Stepanov 的 STL 改编的 C++ 标准库的容器和算法部分。 在本文档中,标准模板库 (STL) 是指整个 C++ 标准库。
另请参阅
C++ 标准库