gpt4 book ai didi

c++ - 如何通过另一个类将共享指针传递给一个类?

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

我有一个 A 类,它包含一个共享指针 vector

class A
{
std::vector<std::shared_ptr<object>> vec;
A(std::vector<std::shared_ptr<object>> vec_) : vec(vec_) {}
};

和一个类 B 包含许多 A

class B
{
std::vector<A> manyA;

//What should the constructor look like?
};

B 需要将 shared_ptrs 作为其构造函数的输入,然后初始化其所有 A 对象并将共享指针分配给它们。

实现此目标的最佳方法是什么?

最佳答案

我建议将 shared_ptr 存储在您的 vector 中:

std::vector<std::shared_ptr<A>> manyA;
B(std::vector<std::shared_ptr<A>> v) : manyA(v){ }

vector 将复制 shared_ptr,这意味着引用计数将增加 1。

如果您不想使用 shared_ptr,请确保将 A 的拷贝存储在您的 vector 中。

关于c++ - 如何通过另一个类将共享指针传递给一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56763508/

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