c ++参考 - 是否有内存分配?

时间:2015-11-30 19:00:05

标签: c++ pass-by-reference

考虑

1

MyClass &myRef;

在此声明中是否为myRef分配了内存? 找出myRef地址的语法是什么?

2。 然后,如果我做

myRef = someOtherRefToTheSameClass

谁负责执行此任务?

1 个答案:

答案 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();执行同样的操作。