为什么需要了解动态内存分配,理由很简单,熟悉内存分配是编程中基本技能,但对于c++这门语言也是一个让人很头疼的问题。如何正确申请和释放内存成为c++编程中一个很重要但也很棘手的话题。但是在智能指针出来之后,很多问题都变得很简单。下面带大家了解和熟悉下如何使用它。
how:smart pointer(#include<memory>)
1. shared_ptr
2. unique_ptr
3. weak_ptr
1. shared_ptr:允许多个指针同时指向同一个对象
(1)补充:
1、make_shared<T>(args),中的args要符合前面的类型T的参传入数格式
2、 shared_ptr<T>(args),其中args只能以()的形式来初始化shared_ptr,因为shared_ptr的构造函数是explict的,不允许T* ptr这种类型隐式