【发布时间】:2020-06-03 18:03:35
【问题描述】:
C++ 标准在所有范围内保留以下划线后跟大写字母开头的名称。
这是否适用于用户文字运算符?
例如
int _MyInt; // reserved, violation
template < char... >
auto operator "" _MyInt ( ); // reserved???
【问题讨论】:
-
就个人而言,我会保持安全并坚持小写。
-
如果允许,看起来 C++ 实现应该避免在标准库中定义任何以下划线 + 大写字母开头的宏 (?)
-
@chi 他们总是可以
#undef我想 -
@AsteroidsWithWings 正如对您发布的问题的答案的评论所说,
_Foo之类的情况不包括在内,这就是这个问题所要问的。
标签: c++ language-lawyer user-defined-literals