何时在C++中称为"名称"的"标识符"?我主要读到"名称"一词过于使用而不是"标识符",例如:
struct S { int i };
S thing1;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,是thing1一个名称或IDENTIFER?或者术语"标识符"和"名称"是类似的吗?在C中,在引用对象时是否使用术语"名称"?
关于名字中的下划线的问题在这里得到了部分回答,但要么答案不完整,要么我不完全理解.
教派.C++ 11标准的2.14.8.7声明此文字运算符为例:
long double operator "" _w(long double);
Run Code Online (Sandbox Code Playgroud)
除了声明操作符之外,标准及其示例还做了两件事,如果单独查看,每件事都有意义:
_w下划线开头; 和我的问题有两个部分:
_w不是标识符,或者标识符_w不是名称,或者......好吧,我很困惑._w可以,那么大写也_W没关系 - 就像在60.0_W,意味着60.0瓦? 或者预处理器是否可能错误处理大写版本?毫无疑问,和你一样,我不习惯用下划线开始全球名字,这是习惯的标准.17.6.4.3.2.1显然似乎弃用了.因此,如果您可以在下划线,名称和文字操作符的问题上投射一些额外的亮点,那么光将会受到赞赏.