标准库定义在一个称为 std
的名字空间里。这也就是为什么我写的是 std::cout
,而不直接写 cout
的原因。我这样做是明确说出要使用的是标准 cout
,而不是其他的什么 cout
。
这就使标准的
string
和 list
都可以用了。借助于前缀 std::
就能使用它们:
为了简单起见,我将 很少在实例中显式使用
std::
前缀,也将不总是去显式地 #include
必要的头文件。为了能编译和运行这里的程序片段,你必须自己去 #include
适当的头文件。除此之外,你还必须使用 std::
前缀,或者将出自 std
的每个名字都做成全局的。例如,
一般来说,将一个名字空间中的所有名字统统倾倒进全局名字空间里,并不是一种好的做法。但是,为使这里用于阐述语言和库特征的实例比较短小,我还是忽略了那些将重复出现的
#include
和 std::
限定符。在这本书里,我几乎是只用到标准库。所以,如果用到了某个来自标准库的名字,那么,或者在那里用的就是标准库所提供的东西,或者就是为该项标准库功能可能如何定义提供一个解释。