在std命名空间或各自的头文件中定义了向量,列表等的类在哪里?

时间:2017-03-02 21:29:26

标签: c++ c++11

目前,我正在学习C ++,我观察到如果我们包含各自的头文件和std :: object_name,可以使用像vector,lists这样的对象。这些类实际上是在各自的头文件或std命名空间中定义的?

1 个答案:

答案 0 :(得分:2)

namespace std被许多文件分开,而不是在一个地方定义。与类不同,可以重新打开命名空间并添加新的声明。

例如,像std::vector这样的模板都在各自的标题中声明和定义,因为Why can templates only be defined in the header file?

namespace std的其他成员可以在标头中声明,并在cpp文件中定义。该cpp文件可能已经编译到程序链接到的运行时库中。