gpt4 book ai didi

c++ - 返回对变量 : Meaningful/useful? 的引用

转载 作者:行者123 更新时间:2023-11-30 01:08:26 25 4
gpt4 key购买 nike

假设您有以下代码:

MyObject someObject;

MyObject& getReferenceToObject() {
return someObject;
}

现在考虑以下调用 getReferenceToObject() 的方法:

void MyFunction() {
MyObject obj = getReferenceToObject(); // 1.
MyObject& obj = getReferenceToObject(); // 2.
}

编译器允许 1. 和 2. 我的问题是,如果我像 1. 那样做,对象会被复制到 obj 变量中,还是 obj 指向 someObject? 2. 有任何意义吗?

最佳答案

版本 1. 使用 MyObject::MyObject(const MyObject & other); 构造函数(或类似的)初始化一个名为 obj 的 MyObject。 objsomeObject

的拷贝

版本 2。初始化对 MyObject 的引用,(也)称为 obj,以便它命名与 someObject 相同的对象。

如果你改变 obj,版本 1 不会改变 someObject,版本 2 会。

关于c++ - 返回对变量 : Meaningful/useful? 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42791844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com