C++中的运算符“”是啥?

Posted

技术标签:

【中文标题】C++中的运算符“”是啥?【英文标题】:What is the operator "" in C++?C++中的运算符“”是什么? 【发布时间】:2017-08-07 14:35:18 【问题描述】:

我跌倒在this page 那里,作者谈到了运算符“”的标准化

C++ 标准委员会决定标准化operator "" 是[...]

他/她在说什么?我找不到有关此的任何信息,并且我不明白它可能意味着什么(常量字符串的重载?或者更概念性的东西,不会影响语言的最终使用?)

【问题讨论】:

【参考方案1】:

那些是user-defined literals。它们允许您在适当的位置创建 std::stringstd::chrono::durations 或任何用户定义的类型(您可以制作自己的文字)之类的东西:

auto str = "Hello"s; // str is std::string("Hello")
auto sec = 5s;       // sec is 5 std::chrono::seconds

标准库提供的文字运算符列表及其文档可以在我链接的文档页面的底部找到。

【讨论】:

【参考方案2】:

user-defined literal operator 将允许基于现有文字引入新的文字语法。

如需了解更多信息,请显示this reference link。

【讨论】:

@BaummitAugen 我认为36.0_mi 是用户定义的文字,不是吗? @PeterA.Schneider:答案的例子是128u128l128.0f0xBAD @PeterA.Schneider 是的,我说的例子同时被删除了。

以上是关于C++中的运算符“”是啥?的主要内容,如果未能解决你的问题,请参考以下文章

c++中s+=t是啥意思?

c++中的各种符号是啥意思?

C++ 的箭头 (->) 运算符的正式名称是啥?

未指定时,C++ 运算符的操作数的值类别是啥?

C++:cout和cin 标识符的含义是啥?他们后面分别使用啥运算符?各运算符的作用是啥?

C语言的cout是啥意思?