gpt4 book ai didi

c++ - 您通常如何返回分配在本地堆栈上的用户定义类型的实例

转载 作者:行者123 更新时间:2023-11-30 01:32:59 24 4
gpt4 key购买 nike

我对流行的方法很好奇。

我发现自己可以交替做这两件事:

请注意,在所有情况下,对象都是在本地分配的。

std::string GetDescription ()
{
std::string desc;

/* Create a description */

return desc;
}


void GetResult (map<int, double> & resultMap)
{
/*Fill map result map with values*/

}

map<int, double> GetResult2(map<int, double> & resultMap)
{
map<int, double> & resultMap
/* Fill map result map with values */
return resultMap;
}

执行此操作的首选方法是什么?

最佳答案

要么按值返回它,要么将其作为传入的输出参数进行操作。不要返回通过引用在堆栈上分配的任何内容,除非您喜欢崩溃和未定义的行为。

编辑:这确实是一个风格问题。我更喜欢值类型的值和非值类型的输出参数。尽管如果我真的想抽象一些东西,我会使用一个专门的接口(interface),一些符合 ostream 精神的东西。

关于c++ - 您通常如何返回分配在本地堆栈上的用户定义类型的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/639922/

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