C++中三种智能指针

C++中三 种智能指针的用法

需要先引入memory,使用智能指针就不用自己new和delete了

1.unique_ptr 不能复制

std::unique_ptr<YourClass> Name = std::make_unique<YourClass>();

也可以直接给实例,像这样,但没有第一种安全

std::unique_ptr<YourClass> Name(new YourClass());

2.shared_ptr 可以复制,有引用计数,复制一次,引用就加一,引用为0就销毁

std::shared_ptr<YourClass> Name=std::make_shared<YourClass>();

也可以直接给实例

std::shared_ptr<YourClass> Name(new YourClass());

但都不建议这样做,用make就完事了

3.weak_ptr 弱指针,拿它复制shared_ptr时引用计数不会增加

学习视频地址:【44】【Cherno C++】【中字】C++的智能指针_哔哩哔哩_bilibili

posted @ 2021-10-26 11:56  咸咸的鱼干  阅读(101)  评论(0)    收藏  举报