gpt4 book ai didi

c++ - 返回对类变量的引用 - C++

转载 作者:行者123 更新时间:2023-11-28 01:39:16 25 4
gpt4 key购买 nike

所以,我有一个类 World,其中有一个类 Object 的实例 vector 。现在,我正在尝试在 World 中创建一个函数,该函数返回对 vector 对象之一的引用,因此在 main() 中,您可以直接将值更改为数组。它会是这样的:

class Object{
//things
}

class World{
private:
vector <Object> ObjectsInWorld;

public:
Object functionThatReturnsReference(int index){
//somehow return reference to ObjectsInWorld[index];
}
}


int main(){
World world;
Object& obj = world.functionThatReturnsReference(2);
//now changes made to obj should apply also to world's ObjectsInWorld[2]

return 0;
}

这在 C++ 中可行且合法吗?谢谢!

最佳答案

只需定义返回引用的函数(注意 &):

 Object& functionThatReturnsReference (int index)  

但是在你这样做之前至少再想一想。除非您的对象是纯容器类型,否则您通常不希望人们弄乱您的内部状态,因为您的不变量可能会在用户没有意识到的情况下被违反。

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

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