什么时候是';标识符';a';名称';在C++;? C++中的“标识符”何时命名为“名称”?我读到的大多是术语“名称”被过度使用,而不是“标识符”,如示例中所示: struct S { int i }; S thing1;
在这种情况下,什么时候是';标识符';a';名称';在C++;? C++中的“标识符”何时命名为“名称”?我读到的大多是术语“名称”被过度使用,而不是“标识符”,如示例中所示: struct S { int i }; S thing1;,c++,c,naming-conventions,C++,C,Naming Conventions,在这种情况下,thing1是名称还是标识符?或者术语“标识符”和“名称”是类似的?在C中,在引用对象时,是否使用“名称”一词?C++中的“/p>< p>,术语标识符只是一个数字、字母和 ,而不是从数字开始。这样一个标识符可以出现在任何地方,并且不需要识别任何东西,尽管它的名称(没有双关语) 术语名称将某种意义与某种语法结构联系起来。C++规范说,以下语法结构之一是名称,如果它表示实体(对象、类、模板等)或标签(在这里可以跳转到“代码> Goto < /Cord>”) 标识符 模板id(iden
thing1
是名称还是标识符?或者术语“标识符”和“名称”是类似的?在C中,在引用对象时,是否使用“名称”一词?C++中的“/p>< p>,术语标识符只是一个数字、字母和<代码> <代码>,而不是从数字开始。这样一个标识符可以出现在任何地方,并且不需要识别任何东西,尽管它的名称(没有双关语)
术语名称将某种意义与某种语法结构联系起来。C++规范说,以下语法结构之一是名称,如果它表示实体(对象、类、模板等)或标签(在这里可以跳转到“代码> Goto < /Cord>”)
- 标识符
- 模板id(
、identifier
和operator function id
,如literal operator id
)foo
- 转换函数id(
,如运算符类型
)运算符int
- 操作员功能id(
,如operator@
)operator+
- 文字运算符id(
,如operator”标识符
)operator”“\u-foo
正如您在literal操作符id的示例中所看到的,非终端标识符可以出现在语法中不是名称的地方。所以不是每个标识符都是名称,也不是每个名称都是标识符。在模板id的示例中,我们使用嵌套的名称。
前面的结构分别是名称,因为它们表示声明的模板 非常简洁和最准确地描述了这一区别。