相关疑难解决方法(0)

什么是'标识符'是C++中的'名字'?

何时在C++中称为"名称"的"标识符"?我主要读到"名称"一词过于使用而不是"标识符",例如:

struct S { int i };
S thing1;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是thing1一个名称IDENTIFER?或者术语"标识符"和"名称"是类似的吗?在C中,在引用对象时是否使用术语"名称"?

c c++ naming-conventions

9
推荐指数
1
解决办法
305
查看次数

下划线,名称和文字运算符

关于名字中的下划线的问题在这里得到了部分回答,但要么答案不完整,要么我不完全理解.

教派.C++ 11标准的2.14.8.7声明此文字运算符为例:

long double operator "" _w(long double);
Run Code Online (Sandbox Code Playgroud)

除了声明操作符之外,标准及其示例还做了两件事,如果单独查看,每件事都有意义:

  • 它以_w下划线开头; 和
  • 它将运算符放在全局命名空间中.

我的问题有两个部分:

  1. 根据上面链接的答案,名称_w不是标识符,或者标识符_w不是名称,或者......好吧,我很困惑.
  2. 如果_w可以,那么大写也_W没关系 - 就像在60.0_W,意味着60.0瓦? 或者预处理器是否可能错误处理大写版本?

毫无疑问,和你一样,我不习惯用下划线开始全球名字,这是习惯的标准.17.6.4.3.2.1显然似乎弃用了.因此,如果您可以在下划线,名称和文字操作符的问题上投射一些额外的亮点,那么光将会受到赞赏.

c++ operator-overloading c++11

3
推荐指数
1
解决办法
1020
查看次数

标签 统计

c++ ×2

c ×1

c++11 ×1

naming-conventions ×1

operator-overloading ×1