我期待b的值低于100,但我得到12.为什么会这样?显然我的c = b行不是将c指定为b的别名?
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a = 4;
int b = 12;
int& c = a;
c = 8;
cout << a << endl;
c = b;
c = 100;
cout << b << endl;
int bb;
cin >> bb;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你不能重新引用引用 - 你的c = b;行只是分配给c(a当时也是)当前的值b.
然后,当您分配100时c,b因此不会更改,因此它12在打印时仍具有其原始值.
请参阅此FAQ问题:
http://www.parashift.com/c++-faq/reseating-refs.html
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |