相关疑难解决方法(0)

为什么shared_ptr不允许直接赋值

所以在使用时shared_ptr<Type>你可以写:

shared_ptr<Type> var(new Type());
Run Code Online (Sandbox Code Playgroud)

我想知道为什么他们不允许更简单和更好(imo):

shared_ptr<Type> var = new Type();
Run Code Online (Sandbox Code Playgroud)

而不是要实现这样的功能,您需要使用.reset():

shared_ptr<Type> var;
var.reset(new Type());
Run Code Online (Sandbox Code Playgroud)

我习惯于OpenCV Ptr类,它是一个智能指针,允许直接赋值,一切正常

c++ smart-pointers shared-ptr c++11

15
推荐指数
5
解决办法
1306
查看次数

标签 统计

c++ ×1

c++11 ×1

shared-ptr ×1

smart-pointers ×1