Rob*_*rtS 7 c++ variables reference identifier language-lawyer
在 C++17 标准中声明(强调我的):
“变量是由非静态数据成员或对象的引用声明引入的。变量的名称(如果有)表示引用或对象。”
来源:ISO/IEC 14882:2017 (C++17), §6/6 - “基本概念”
为什么是“如果有”?变量可以在 C++ 中省略名称吗?
如果我查看 cppreference:
“在 C++ 中,变量实际上只是为程序使用而保留的一点内存。您使用变量名来引用它,因此您无需担心它在内存中的位置(尽管您可以找到出它的内存地址,甚至可以指定它的位置,如果你愿意的话)。”
或者维基百科(我知道它不是最好的来源,但仍然很常见):
“在计算机编程中,变量或标量是一个存储地址(由内存地址标识)与相关的符号名配对,其中包含一些已知或未知的信息量,称为值。变量名是通常的方法根据上下文,除了引用变量本身之外,还引用存储的值。”
来源:https : //en.wikipedia.org/wiki/Variable_(computer_science)
这表示变量应始终提供与其关联的名称,无论引用的对象/值是否被它访问。
变量在 C++ 中是否可能没有名称?
如果是,如何以及在哪里(如果可能有多种情况)?
或者,如果我误解了某些东西,那么“如果有的话”如何解释?
有关的:
正如评论中提到的,
void foo(int) {}
// ^
Run Code Online (Sandbox Code Playgroud)
定义一个没有名字的变量。
变量是由非静态数据成员或对象的引用声明引入的。
它显然不是一个引用,但它是一个对象吗?是的。
对象是由定义创建的,[...]
并且函数定义的参数是定义([basic.def]/2)。
归档时间: |
|
查看次数: |
133 次 |
最近记录: |