首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用字符串文字而不使用命名空间标准

使用字符串文字而不使用命名空间标准
EN

Stack Overflow用户
提问于 2016-08-15 14:01:08
回答 2查看 10.8K关注 0票数 41

C++社区建议不要使用using namespace std;。但是假设你想使用字符串字面量,例如auto s = "dummy"s;。不使用using namespace std;会导致编译失败。解决方案是什么?

EN

回答 2

Stack Overflow用户

发布于 2016-08-15 14:09:26

上面的运算符是在namespace std::literals::string_literals中声明的,其中文本和string_literals都是内联名称空间。可以通过使用名称空间std::literals、using namespace std::string_literalsusing namespace std::literals::string_literals获得对这些运算符的访问

来源:std::literals::string_literals::operator""s

票数 3
EN

Stack Overflow用户

发布于 2019-11-05 22:37:04

我会在我的代码块中添加“使用命名空间”:

代码语言:javascript
复制
auto get_greetings()
{
    using namespace std::string_literals;
    return "Hello world"s;
}

因此,在某些库中重载运算符的概率应该为零,因为标准建议我们普通人应该添加一个带下划线的后缀。而且,由于我是在函数内部使用名称空间添加的,因此在函数外部不会发生名称冲突的可能性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38950008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档