【发布时间】:2016-02-10 21:10:51
【问题描述】:
第一个例子
int a = 0;
auto && b = ++a;
++a;
cout << a << b << endl;
打印22
第二个例子
int a = 0;
auto && b = a++;
++a;
cout << a << b << endl;
打印20
问题:
为什么在第一个示例中第三行中的++a 也会增加b,为什么在第二个示例中没有这种行为?
更新:New question 出现了。
【问题讨论】:
-
我会给你一个提示 -
a不是右值。 -
@erip 是的,我知道,但是
b的两个示例有什么区别? -
在第二个示例中,
b获取a的值,而之前没有增加它,就像在第一个示例中一样。
标签: c++ rvalue-reference