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就完事了

浙公网安备 33010602011771号