C++中的运算符""是什么?

58

我看到了这个页面,作者在谈论运算符 "" 的标准化问题:

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

作者在谈论什么?我找不到相关信息,也不明白它可能意味着什么(常量字符串的重载?还是更多概念上的东西,不影响语言的最终使用?)

2个回答

68

这些是用户定义的字面量。它们允许您创建像std::stringstd::chrono::durations或任何用户定义的类型(您可以制作自己的字面量):

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

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


3

@BaummitAugen 我认为 36.0_mi 是一个用户定义的字面量,不是吗? - Peter - Reinstate Monica
@PeterA.Schneider:答案的示例包括 128u128l128.0f0xBAD - user2357112
@PeterA.Schneider 是的,我所说的那些例子已经被删除了。 - Baum mit Augen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接