gpt4 book ai didi

c++ - 函数中shared_ptr的初始化

转载 作者:行者123 更新时间:2023-11-28 02:35:12 26 4
gpt4 key购买 nike

<分区>

如果你有一个在头文件中定义了私有(private) shared_ptr 的类,如下所示:

class myClass {
public:
...
private:
std::shared_ptr<int> testint;
void doSomething();
};

稍后在 doSomething 中(在 myClass.cpp 中)初始化它的最佳方法是什么?

void myClass::doSomething() {
int i = getNumberFromFile("id.conf");
testint(new int(i)); // does not work
testint.reset(new int(i)); //seems to work, but is this the right way?
testint = std::make_shared<int>(i); // or is this better
}

Deduplicator:我的问题是当 shared_ptr 的定义在头文件中时,在类函数中初始化 shared_ptr 的正确方法是什么。不是用shared_ptr初始化和make_shared有什么区别。

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