我想深入了解命名空间std的内部,但是我在电脑上找不到定义它的文件。我试着在谷歌上搜索,但是没有太大的收获。
/usr/include/c++/<version>/
中,其中<version>
是GCC/libstdc++版本(即4.9
或4.9.2
),或者是libc++版本,即v1
。bits/
中的某些内容;很少有C++11特定的头文件会这样做。std
命名空间中实现的内容都是模板化的,这意味着它们的整个实现都在头文件中。例如,std::vector
应该在 vector
头文件中。只需查看您的编译器选项,找出头文件所在的位置即可。
std
命名空间中定义了一些名字。没有一个单独的文件可以查看。 - juanchopanzausing namespace std;
,因为它会带来麻烦。 - juanchopanzausing namespace std
时无法知道正在被包含的内容是很愚蠢的。这也是不建议这样做的原因之一! - juanchopanza