gpt4 book ai didi

c++ - 返回没有复制构造函数的引用

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:16 25 4
gpt4 key购买 nike

通常,当从函数返回引用时,返回变量是值类型的。

问题是否允许变量已经是引用变量?

请参阅下面的代码。我需要从迭代器 shared_ptr 中读出 myObject 作为引用,以避免复制 ctor(为 myObject 明确删除)

myObject& foo()
{
for(auto iter = myMap.begin();
iter != mymap.End();
++iter)
{
if(trueCondition)
{
//iter->second is
// shared_ptr<myObject>
myObject& toBeReturned= *(iter->second);

return toBeReturned;
}
}

throw std::exception("");
}

最佳答案

是的,您绝对可以返回一个对象的引用,该对象的生命周期将超过该引用。

关于c++ - 返回没有复制构造函数的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47369105/

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