在哪里定义了预定义'user-defined'文本"m"的标准库?



我在浏览C++ Core Guideidlines文档时偶然发现了以下示例:

change_speed(double s);   // bad: what does s signify?
// ...
change_speed(2.3);

更好的方法是明确双精度(新速度或旧速度的增量?(的含义以及使用的单位:

change_speed(Speed s);    // better: the meaning of s is specified
// ...
change_speed(2.3);        // error: no unit
change_speed(23m / 10s);  // meters per second

我们本可以接受一个普通(无单位(双精度作为增量,但这很容易出错。

关于最后一行代码,在该特定页面上没有提到该语法的含义,这对我来说看起来很陌生。

经过几个小时投入,弄清楚这可能是一个预定义的"用户定义"文本的标准库并了解有关它们的更多信息,我试图找出这个特定文本的定义位置,但是虽然这里提到了"s"以及一些其他文字,但我没有找到关于"m"的信息。

SO上也有这个问题,但我认为那里的答案似乎完全过时了。

问:标准库预定义的用户定义文字"m"在哪里定义*?

*甜蜜

,甜蜜的头韵。

它不是标准的用户定义文字

标准用户定义文本的列表可以在底部找到:http://en.cppreference.com/w/cpp/language/user_literal

operator""m不是其中之一,因为标准库(还(不处理长度单位。

最新更新