【发布时间】:2018-12-08 23:30:06
【问题描述】:
正如标题所示,this question has been asked before. 但是,答案与 C++03/0x(11) 有关。 C++11 (N3337) 对变量这么说:
变量是由非静态数据成员或对象以外的引用的声明引入的。变量名表示引用或对象。
这可能意味着变量本质上是命名的对象/引用。
变量的名称,如果有,表示引用或对象。
这意味着一个变量不一定有一个名字。
对第一句的不同解释可能表明变量是名称,因为表示对象/引用的名称也由此类实体的声明引入.但是第二句话与“变量名”这一短语相矛盾。那么,variable 现在是否只是 object 和 reference 的上位词,无论是否命名?
【问题讨论】:
-
指向变量的指针不是名称,但变量存在。
-
@vcloarec 指针本身必须有一个名称。通过获取变量地址产生的 r 值不是变量。
-
可能由stackoverflow.com/a/31234708 回答,但不是真正重复的问题,因为其他问题没有询问这方面。
-
@George :我想说明一个变量不一定有名字。
-
@vcloarec “指向变量的指针不是名称,但变量存在。”没有说明这一点。我承认不知道“如果有”部分的实际含义,但同样,指针变量必须有一个名称,并且通过获取对象的地址(指针与否)生成的 r 值不会自动变量。
标签: c++ c++14 language-lawyer standards