在同一语句中编写引用声明和赋值
Writing reference declaration and assignment in same statement
在一个语句中编写引用声明和赋值有什么问题吗。我已经用gcc试过了,它似乎有效。
int x = 10;
cout << "x = " << x << "n";
int &y = x = 11;
cout << "x = " << x << "n";
cout << "y = " << y << "n";
给我预期的输出
x = 10
x = 11
y = 11
这是否适用于大多数编译器,或者是否存在可移植性问题?
在C++中,有一个赋值运算符,它可以在原则)。注意:
int& y = x = 11;
第一个=
是而不是运算符;它是数据语法的一部分释义这个=
后面是一个表达式,它必须产生在类型为CCD_ 3的左值中。由于x
是int
,因此x = 11
具有类型int
。内置赋值运算符的结果是一个左值,指的是作为分配目标的对象,因此你已经满足了必要的条件。
当然,这并不意味着它是一个好代码。
相关文章:
- 错误:使用通用引用的声明冲突
- C++(和 ROS) - 包含与前向声明引用,设置默认值和类型定义
- 关于隐式声明的复制构造函数的引用在逻辑上不清楚
- 使用 enable_if 在按值传递与按引用传递之间更改函数声明
- 在C++中,如果成员引用在其声明中初始化,为什么需要存储空间?
- 为什么转发声明的好友类不能在类中引用?
- 如何在方法主体中返回声明向量的引用?
- using声明不能引用类成员
- 是否可以在 using 声明中引用用户定义的转换模板?
- 是否可以在引用另一个派生类的派生类中声明复制构造函数?
- 如果使用返回引用的函数初始化"auto"var,为什么它不声明引用类型?
- 为什么C 允许您在初始定义中引用声明的变量
- 模板类中的条件引用声明
- 自动声明的变量有时是通过引用声明的
- 为什么一旦我将引用声明为 const 然后它可以采用不同类型的数据?
- GCC要求此引用声明使用constexpr说明符是否正确
- 在同一语句中编写引用声明和赋值
- 引用声明是否为引用对象引入新名称
- 用const和引用声明变量
- 通过C++中的引用声明传递