Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 分配给共享的ptr,有办法吗?_C++ - Fatal编程技术网

C++ 分配给共享的ptr,有办法吗?

C++ 分配给共享的ptr,有办法吗?,c++,C++,有没有一种方法可以先用nullptr初始化shared_ptr,然后在一段时间后分配指向它的类的指针 //pseudo code std::shared_ptr<MyClass> ptr(nullptr); //and later ptr->assign(new MyClass); //伪代码 std::共享ptr ptr(nullptr); //后来 ptr->分配(新MyClass); 您是否正在寻找ptr.reset(新MyClass)?使用: std::share

有没有一种方法可以先用nullptr初始化shared_ptr,然后在一段时间后分配指向它的类的指针

//pseudo code
std::shared_ptr<MyClass> ptr(nullptr);  
//and later
ptr->assign(new MyClass);
//伪代码
std::共享ptr ptr(nullptr);
//后来
ptr->分配(新MyClass);

您是否正在寻找ptr.reset(新MyClass)?

使用:

std::shared_ptr ptr;
ptr.重置(新MyClass);

也许不如调用reset那么有效,但这也应该能起作用。创建共享ptr的内联临时实例并分配它

std::shared_ptr<MyClass> ptr;

ptr = std::shared_ptr<MyClass>(new MyClass);
std::shared_ptr ptr;
ptr=std::shared_ptr(新MyClass);
查看以下内容:
std::shared_ptr<MyClass> ptr;

ptr = std::shared_ptr<MyClass>(new MyClass);