c++ 引用 - 是否分配了内存?

标签 c++ pass-by-reference

<分区>

考虑

1.

MyClass &myRef;

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

2。 那么如果我这样做了

myRef = someOtherRefToTheSameClass

谁负责执行这项任务?

最佳答案

引用文献没有地址。引用本质上是另一个变量的标签,如果您获取引用的地址,您将获得它引用的对象的地址。

考虑:

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(); 做同样的事情。

关于c++ 引用 - 是否分配了内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005945/

相关文章:

c++ - QTableView - 如何防止选择更改

c++ - 编译器编译外部包括

arrays - Scala,数组总是按名称调用,对吧?

php - 通过引用修改数组的问题

c++ - 在 C++ 中将整数输入写入 vector 容器

c++ - 如何从从 C++ 代码启动的批处理/shell 脚本中获取返回代码

c++ - 用类实例的指针初始化是C++中唯一的吗?

java - 在 HashMap 中包含 HashMap - 通过引用或重复键调用?

C++ 依赖注入(inject)——通过引用还是通过 boost::shared_ptr?

java - 参数列表中引用变量占位符的术语