C 变量的定义,基本/6节
Definition of a C++ variable, section Basic/6
[basic] p6状态:
通过非静态数据成员或对象的参考声明声明引入一个变量。该变量的名称(如果有(表示参考或对象。
int a = 0; // declaration of an object, this introduces the variable x, and an object is created
int{0}; // not a declaration of a variable, this does not introduce a variable, but an object is created
这是否意味着变量是对象或参考(这不是非静态成员(?在整个标准中,它们被称为它们具有对象/参考的属性,但是正式的定义似乎并未说明。让我感到困惑的是,变量名称是指对象或参考,而不是变量本身。
例如,这是[basic.life] P1所说的:
如果变量为默认的initialized,并且[...]
有空初始化。
这暗示了具有与对象和参考相同属性的变量,因为它们可以初始化。
所以我的问题是:
是变量仅仅是一种句法构造,旨在将声明对象和引用引入到一个术语中?变量本身是对象还是参考?
在基本/3中清楚地表明,变量不是"实体"。对象和参考是实体,但不是变量。因此,您可以将变量视为纯粹的句法结构,而不是一流的C 东西。
基本/6告诉我们,变量名表示该变量声明的对象/参考。这应该被读为普通英语:通过变量声明创建的对象/参考具有变量名。相反,变量名称通过变量声明创建的对象/引用。
所以当标准说:
时如果变量为默认的initialization和...
,则具有空置初始化
这意味着:
a [由变量声明引入的参考/对象]如果被默认为initialized,并且...
相关文章:
- C++嵌套if语句,基本货币交换
- 有没有一种方法可以通过"typedef"为重新定义的基本类型定义特征和强制转换运算符
- 我似乎对if/else的基本语句有问题:/
- Usaco第1.6节主要回文
- llvm构建器向基本块添加终止符
- "std::unique_XXX"命名约定背后的基本原理是什么?
- 如何将这个std::字符串转换为std::基本字符串
- 将带有派生模板的对象传递给接受具有基本模板的对象的功能
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- 通过智能指针和转换对基本模板参数进行模板推导
- 在 OpenCV C++ 中估计基本矩阵之前对相应点进行归一化的正确方法是什么?
- 当覆盖存在时调用基本虚拟"binded to object"函数
- 像union_这样的 Boost.Geometry 操作如何处理浮点类型的基本不精确性?
- std::背后的基本原理assignable_from可能的实现
- 如何检查模板专用化是否是基本模板的子类?
- 为什么这个递归没有得到它的基本情况?
- C++ 基本 CTOR 说明 - 为什么不调用赋值/复制构造函数
- 逐字节删除 void* 是否安全?
- C 变量的定义,基本/6节
- 如何在c++的基本成员初始化节中初始化std::map