每个标准库设施都是通过若干标准库头文件提供的,例如:

    1. #include<string>
    2. #include<list>

    包含这两个头文件后,程序中就可以使用 string和list了.
    标准库定义在一个名为std的名字空间中(见24.2节和14.3.1节)。为了使用标准库设施,可以加上std:前缀:

    1. std::string s{"Four legs Good; two legs Baaad!}
    2. 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节分别列出了一些常用的头文件),以让标准库名字变得可用。例如:

    1. #include<string> //令标准库 string可用
    2. using namespace std; //令std中所有名字可用而不必使用std:前缀
    3. string s{"C+ is a general- purpose programming language"}; //OK:此处的 string意即std::string

    一般来说,把一个名字空间(std)中所有的名字都暴露在全局名字空间中不是什么好的编程习惯。但是仅就本书而言,我基本上只用到了标准库,因此读者很容易知道它从何而来,又能为我们提供哪些功能。基于上述原因,我既不会在每次用到标准库名字时都加上std,也不会在每个示例中都# include所需的头文件。我假设我的读者已经对这些心知肚明了。
    下面是一些标准库头文件,它们所含的声明都位于名字空间std中:
    image.png
    此列表远未囊括所有标准库头文件,30.2节将会介绍更多有关信息。