gpt4 book ai didi

C++:直接使用函数返回 shared_ptr 的值是个坏主意吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:45 24 4
gpt4 key购买 nike

例如:

boost::shared_ptr<int> test() {
boost::shared_ptr<int> x(new int(3));
return x;
}

void function() {
int y = *test();
...
}

使用 shared_ptr 来避免复制整个对象也是一个坏主意吗?例如矩阵/图像的 vector 。

最佳答案

在一般情况下,不会。您的示例复制了 shared_ptr 的内容,然后删除了原始值。

现在,这里更大的问题是为 int 进行动态内存分配效率极低,但我假设您没有在实际代码中这样做。 :)

关于C++:直接使用函数返回 shared_ptr 的值是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102632/

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