【发布时间】:2011-08-09 03:09:15
【问题描述】:
我有一个指向整数变量的指针。然后我将此指针分配给一个引用变量。现在,当我将指针更改为指向其他整数变量时,引用变量的值不会改变。谁能解释一下为什么?
int rats = 101;
int * pt = &rats;
int & rodents = *pt; // outputs
cout << "rats = " << rats; // 101
cout << ", *pt = " << *pt; // 101
cout << ", rodents = " << rodents << endl; // 101
cout << "rats address = " << &rats; // 0027f940
cout << ", rodents address = " << &rodents << endl; // 0027f940
int bunnies = 50;
pt = &bunnies;
cout << "bunnies = " << bunnies; // 50
cout << ", rats = " << rats; // 101
cout << ", *pt = " << *pt; // 50
cout << ", rodents = " << rodents << endl; // 101
cout << "bunnies address = " << &bunnies; // 0027f91c
cout << ", rodents address = " << &rodents << endl; // 0027f940
我们将pt分配给兔子,但啮齿动物的价值仍然是101。请解释原因。
【问题讨论】:
标签: c++ variables pointers reference