每个标准库设施都是通过若干标准库头文件提供的,例如:
#include<string>#include<list>
包含这两个头文件后,程序中就可以使用 string和list了.
标准库定义在一个名为std的名字空间中(见24.2节和14.3.1节)。为了使用标准库设施,可以加上std:前缀:
std::string s{"Four legs Good; two legs Baaad!}std::list<std::string> slogans {"War is peace","Freedom is Slavery","Ignorance is Strength"}
为简洁起见,我在书中的例子中很少显式使用std:前缀,我也不会显式地给出
# include语句以包含必要的头文件。为了正确编译并运行本书中的程序片段,读者需要自行补上恰当的# include语句(4.4.5节、4.5.5节和30.2节分别列出了一些常用的头文件),以让标准库名字变得可用。例如:
#include<string> //令标准库 string可用using namespace std; //令std中所有名字可用而不必使用std:前缀string s{"C+ is a general- purpose programming language"}; //OK:此处的 string意即std::string
一般来说,把一个名字空间(std)中所有的名字都暴露在全局名字空间中不是什么好的编程习惯。但是仅就本书而言,我基本上只用到了标准库,因此读者很容易知道它从何而来,又能为我们提供哪些功能。基于上述原因,我既不会在每次用到标准库名字时都加上std,也不会在每个示例中都# include所需的头文件。我假设我的读者已经对这些心知肚明了。
下面是一些标准库头文件,它们所含的声明都位于名字空间std中:
此列表远未囊括所有标准库头文件,30.2节将会介绍更多有关信息。
