一文简介C++智能指针
· 阅读需 11 分钟
一般情况下,当我们在堆上申请内存和释放内存,我们需要显式调用new和delete。智能指针是自动化该过程的一种方式。智能指针意味着当你调用new时(甚至不用显式调用new),你不必调用delete。智能指针本质上是一个真正原始指针的包装器。当你创建一个智能指针时,它会调用new并为你分配内存。然后根据您使用的智能指针,内存将在某个时候自动释放。
编程语言相关文章
查看所有标签一般情况下,当我们在堆上申请内存和释放内存,我们需要显式调用new和delete。智能指针是自动化该过程的一种方式。智能指针意味着当你调用new时(甚至不用显式调用new),你不必调用delete。智能指针本质上是一个真正原始指针的包装器。当你创建一个智能指针时,它会调用new并为你分配内存。然后根据您使用的智能指针,内存将在某个时候自动释放。
C++中的左值引用(lvalue reference)和右值引用(rvalue reference),以及移动语义(move semantics),都是为了提高程序性能和效率而设计的语言特性。本文会介绍左值引用和右值引用的使用形式,以及基于右值引用的移动语义的使用样例。
本文的总结主要来自于cherno的C++系列视频,可以在bilibili观看翻译的中文版本。
评论