C++的智能指针
本文是ChernoP43视频的学习笔记。
智能指针是实现分配内存、释放内存这一过程自动化的一种方式。若使用智能指针,当我们调用new时不需要调用delete,甚至不需要调用new。智能指针本质上是一个原始指针的包装,当创建一个智能指针,它会调用new并为其分配内存,基于这个智能指针的内存会在某一时刻自动释放。
unique_ptr(优先)
unique_ptr是作用域指针,超出作用域时它会被销毁,然后调用delete。我们不能复制一个unique_ptr,因为如果复制一个unique_ptr会有两个指针,两个unique_ptr指向同一个内存块。如果其中一个死了,它会释放那段内存,而另一个unique_ptr指针就会指向被释放的内存。
要访问智能指针,首先要包括memory头文件。如果想要在特定的作用域下(两个大括号)创建一个unique_ptr来分配Entity,可以调用构造函数然后输入new Entity()。