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::string
、std::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:答案的例子是128u
、128l
、128.0f
和0xBAD
。
@PeterA.Schneider 是的,我说的例子同时被删除了。以上是关于C++中的运算符“”是啥?的主要内容,如果未能解决你的问题,请参考以下文章