在C++17标准中是这样表述的(强调我的):
变量是通过声明一个引用而非一个非静态数据成员或一个对象引入的。变量的名称(如果有的话)表示引用或对象。
资料来源:C++17,§6/6-“基本概念”
为什么说“如果有”? 在C++中变量可以省略名称吗?
如果我看看维基百科(我知道它不是最好的来源,但仍然很常见):
在计算机程序设计中,变量或标量是一个存储地址(由内存地址标识)和一个相关的符号名称配对,符号名称包含一些已知或未知量的信息,这些信息称为值。变量名是引用存储值的常用方法,除了引用变量本身外,还取决于上下文。
来源:https://en.wikipedia.org/wiki/variable_(计算机科学)
这意味着变量应该始终提供一个与其相关联的名称,而不管引用的对象/值是否被它访问。
或者如果我误解了什么,那么“如果有”该如何解释呢?
相关:
变量,对象和引用之间的区别是什么?
正如评论中所提到的,
void foo(int) {}
// ^
定义一个没有名称的变量。
[basic.pre]/6:
变量是通过声明一个引用而非一个非静态数据成员或一个对象来引入的。
它显然不是一个参照物,但它是一个对象吗? 是的。
[Intro.Object]/1
对象由定义创建,[...]
函数定义的参数是定义([basic.def]/2)。