C++标准库是什么?

C++标准化始于1989年,由国际标准化组织(ISO)推动。1998的C++标准分为两个部分:核心语言和C++标准程序库。
C++标准草案的部分目录如图所示:可以看出,带有Library的就是标准程序库的一部分。
image.png
C++标准库还包含了C标准库(C11中有29个头文件)。
注意:STL是标准模板库,是C++标准库的一个组件。

C++标准库一般概念

命名空间

C++标准库中的所有标识符都被定义于 一个 名为 std 的namespace内。
比较常见的例子就是string:如果我们想在自己的程序中定义一个string类,要与标准库中的string区分时,可以使用:std::string。
还有一些命名空间嵌套于 std中。
总的来说,使用C++标准库的任何标识符,有三种选择:

  1. #include<iostream>
  2. int main()
  3. {
  4. //第1种:每个标识符都要加std
  5. std::cout<<"1"<<std::endl;
  6. //第2种:只引入个别标识符
  7. using std::cout;
  8. cout<<"2"<<std::endl;
  9. //第3种:引入整个命名空间
  10. using namespace std;
  11. cout<<"3"<<endl;
  12. return 0;
  13. }

头文件

以前的标准中头文件扩展名很乱,比如.h,.hpp等,C++11中的头文件没有扩展名。
使用 #include这种方式引入即可。C标准头文件加上c前缀就行。
出于兼容考虑,旧式的C标准头文件也可以用。

并发库