“使用 std::string”和“#include <string>”有什么区别[重复]

问题描述 投票:0回答:1

我刚刚学习 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>

c++ string include using
1个回答
8
投票

您需要包含

<string>
标头才能使用
std::string

添加

using std::string;
允许您在没有
std::
命名空间限定符的情况下使用它。

如果您包含的标头包含

<string>
,您可能 不必明确这样做。然而,依靠这一点是不好的做法,并且编写良好的标头包括防止多次包含的保护,因此假设您使用编写良好的头文件,包含通过先前包含而包含的标头没有任何害处。

© www.soinside.com 2019 - 2024. All rights reserved.