考虑
1
MyClass &myRef;
在此声明中是否为myRef分配了内存? 找出myRef地址的语法是什么?
2。 然后,如果我做
myRef = someOtherRefToTheSameClass
谁负责执行此任务?
答案 0 :(得分:1)
参考文献没有地址。引用本质上是另一个变量的标签,如果你获取引用的地址,你将获得它引用的东西的地址。
考虑:
void function (bool b, int x, int y)
{
int& ref = b ? x : y;
此处,&ref
将评估与&x
相同或与&y
相同的内容,具体取决于b
的值。
当您在赋值的左侧使用引用时,它的作用与使用基础变量的行为相同。所以如果你有:
void function (SomeClass y)
{
SomeClass &z (y);
现在,由于z
是对y
的引用,y = foo();
和z = foo();
执行同样的操作。