相关疑难解决方法(0)

是使用shared_ptr.reset还是operator =?

我试图围绕C++ 11的新习语.

似乎至少使用shared_ptr,使用new T()和之间存在实质性差异make_shared<T>().

但是重置共享指针以指向某个新实例的方法呢.以前,我通常会使用reset(new T())会员.但是,这不是因为没有首先使用make_shared()的问题吗?(即它不允许make_shared分配对象,因此它被强制将ref计数放在单独的分配中而不是与T本身相同的分配中?)

是否更好地继续使用:

   mysharedptr = make_shared<T>(args...);
Run Code Online (Sandbox Code Playgroud)

或者,还有更好的方法?

并且不应该像make_shared那样重置提供参数的变量转发,这样就可以编写mysharedptr.reset(args ...);?

c++ shared-ptr c++11

34
推荐指数
2
解决办法
1万
查看次数

标签 统计

c++ ×1

c++11 ×1

shared-ptr ×1