深圳C++培训
达内深圳龙华中心

139-2227-5185

热门课程

C++培训教程:C++ 中的智能指针知识点

  • 时间:2017-09-25
  • 发布:深圳C++培训班
  • 来源:达内新闻

长久以来 C++ 最被人诟病的就是它的内存管理,写个稍微复杂点的程序就经常会碰到内存泄漏问题。为了解决这个问题,C++ 也做了许多努力。

在 C++98 标准中首先提出了智能指针的概念,引入了 auto_ptr。但是在实践中,auto_ptr 有不少问题。因此在 C++11 标准中对原有的智能指针又做了进一步的升级,根据应用场景的不同,分成了 shared_ptr, weak_ptr, unique_ptr 三个智能指针类。

本文就来介绍一下这些指针类。

std::unique_ptr

C++11 中引入的几个智能指针的声明在 memory 中。因此要使用智能指针需要包含这个头文件。

#include <memory>1

unique_ptr 顾名思义它具有某种唯一性。这种智能指针不共享它内部的指针。无法复制到其他 unique_ptr,无法通过值传递到函数。但是可以通过 C++11 中新引入的移动语义移动给另一个 unique_ptr,当然移动之后它本身内部指针所对应的内存资源就转移出去了,它自己就变成了一个空指针了。

上一篇:C语言中指针与malloc,free的用法
下一篇:C/C++开发程序员这些基础必须熟记!

深圳C++培训机构:C++面试中经常会被问到的面试知识点

深圳C++培训班:不要忽视C语言

深圳C++培训:C++ 网络编程初学者的开源项目

快速掌握C语言函数,C语言函数的定义和函数调用过程

选择城市和中心
贵州省

广西省

海南省