C++社区建议不要使用using namespace std;
。但是假设你想使用字符串字面量,例如auto s = "dummy"s;
。不使用using namespace std;
会导致编译失败。解决方案是什么?
发布于 2016-08-15 14:09:26
上面的运算符是在namespace std::literals::string_literals
中声明的,其中文本和string_literals都是内联名称空间。可以通过使用名称空间std::literals、using namespace std::string_literals
和using namespace std::literals::string_literals
获得对这些运算符的访问
发布于 2019-11-05 22:37:04
我会在我的代码块中添加“使用命名空间”:
auto get_greetings()
{
using namespace std::string_literals;
return "Hello world"s;
}
因此,在某些库中重载运算符的概率应该为零,因为标准建议我们普通人应该添加一个带下划线的后缀。而且,由于我是在函数内部使用名称空间添加的,因此在函数外部不会发生名称冲突的可能性。
https://stackoverflow.com/questions/38950008
复制相似问题