onemoo
首先要指出,C++ 中根本就不应该使用<stdlib.h>!C++ 从 C 标准库中继承了一些内容,但 C++ 标准并没有直接使用 C 版本的头文件。如同 C++ 标准库头文件都没有 .h 扩展名一样,C++ 版的 C 标准库头文件也没有扩展名,并且还文件名前面加上字母 c 作为标识。所以 C 中的 <stdlib.h> 在 C++ 中应该是 <cstdlib>。 不应该混用 C/C++ 的头文件!std 就是一个具名命名空间的名字。C++ 标准库中的内容都在 std 这个命名空间中,也就是说 C++ 标准库的所有头文件中都声明了 std 命名空间。好像你不应该理解为“谁的命名空间”,而是“std 命名空间存在于所有 C++ 标准库头文件中”。那么:如果你问“当c++头文件中同时<iostream>和<stdlib.h>时......”我只能说,stdlib.h 就不是 C++ 合法的头文件,其中根本就没有命名空间这个概念(C语言中不存在这个),所以 using namespace std 这个指令就允许你直接使用 iostream 头文件中的内容,不需要用 std:: 来指定命名空间。如果你问“当c++头文件中同时<iostream>和<cstdlib>时......”那使用 using namespace std 后你就可以直接使用这两个头文件中的内容了...