作为一个函数的输出,我得到一个 Foo
类型的对象.作为另一个类的参数,我需要传递一个 std::shared_ptr<Foo>
类型的对象.如何从原始对象创建共享指针?
最佳答案
这真的很简单:
auto val = std::make_shared<Foo>(FuncThatReturnsFoo(...));
基本上,只需堆分配一个新的 Foo
,将结果复制/移动到其中。
关于c++ - 如何从非指针对象创建 std::shared_ptr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11992269/