make_shared函数

wangchunlin 2022-8-3 236 8/3

听说可以提高安全性

auto new_task = make_shared<DetectTask>(this, TaskId, CallParam, this);
//左边为类指针
//或者
shared_ptr<DetectTask> new_task = make_shared<DetectTask>(this, TaskId, CallParam, this);
//或者
shared_ptr<DetectTask> new_task = shared_ptr<DetectTask>(new DetectTask(this, TaskId, CallParam, this));// 强制转换?
shared_ptr<DetectTask> new_task(shared_ptr<DetectTask>(new DetectTask(this, TaskId, CallParam, this)));
//好像还有一种,但是前面是不能用auto的
shared_ptr<DetectTask> new_task (new DetectTask(this, TaskId, CallParam, this));
//中间空格省略也是可以的
shared_ptr<DetectTask> new_task(new DetectTask(this, TaskId, CallParam, this));
//这样和上面的区别就有意思了,有没有区别不知道,我还是觉得下面的强制转换了一步,下面的可以用auto
shared_ptr<DetectTask> new_task(shared_ptr<DetectTask>(new DetectTask(this, TaskId, CallParam, this)));
- THE END -

wangchunlin

8月09日15:19

最后修改:2022年8月9日
0

非特殊说明,本博所有文章均为博主原创。

共有 1 条评论

  1. wangchunlin博主

    {{chan}}