gpt4 book ai didi

c++ - 当你通过引用返回对象时,你什么时候需要担心对象会被销毁?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:19:36 25 4
gpt4 key购买 nike

你有以下内容:

Person& getPersonByName(string name);

在什么情况下您需要担心 getPersonByName 的返回人会在方法结束后立即被销毁,以便调用方方法可以处理已销毁的数据?

谢谢

最佳答案

你应该。

例如,这是悬挂引用:

Person &getPerson()
{
Person p;
return p;
} //p is destroyed here

但这没关系:

Person &getPerson()
{
static Person p;
return p;
}

您还可以返回一个 referenceobject 的一些内部变量,并且可以在 object 被销毁之前使用它:

class Foo
{
public:
int & getA() {return a;}

private:
int a;
};

关于c++ - 当你通过引用返回对象时,你什么时候需要担心对象会被销毁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740463/

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