我刚刚学习 C++,我不太明白将
using std::string
与 #include <string>
放在主文件顶部之间的区别。
我似乎能够定义字符串,而无需在这里使用
#include <string>
:
#include <iostream>
using std::cout; using std::cin;
using std::endl;
using std::string;
int main()
{
string s = "hi";
cout << s;
return 0;
}
这似乎运行没有问题,那为什么我会有
#include <string>
?
您需要包含
<string>
标头才能使用 std::string
。
添加
using std::string;
允许您在没有 std::
命名空间限定符的情况下使用它。
如果您包含的标头包含
<string>
,您可能 不必明确这样做。然而,依靠这一点是不好的做法,并且编写良好的标头包括防止多次包含的保护,因此假设您使用编写良好的头文件,包含通过先前包含而包含的标头没有任何害处。