- 智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象
- shared_ptr允许多个指针指向同一个对象;
unique_ptr则独占所指向的对象。 - 智能指针也是模板
- shared_ptr p1;//shared_ptr 可以指向string
shared_ptr<list> p2 //shared_ptr 可以指向int的list - 最安全的分配和使用动态内存的办法是调用一个名为make_shared的标准库函数。此函数再动态内存中分配一个对象并初始化它,返回指向此对象的shared_ptr。
shared_ptr p3 = make_shared(42);
shared_ptr p4 = make_shared(10,‘9’);
shared_ptr p5 = make_shared(); - make_shared用其参数来构造给定类型的对象
C++ shared_ptr类
于 2020-05-18 15:03:13 首次发布
本文探讨了智能指针的概念及其在C++中的应用,包括shared_ptr和unique_ptr的区别。shared_ptr允许多个指针共享同一对象,而unique_ptr确保对象的独有权。通过make_shared函数,可以更安全地分配和初始化动态内存。
3万+





