Advertisement

C++ 智能指针所有用法解析

阅读量:

为何要了解智能指针?

这个问题并非针对在场的各位,而是我对自己提出的疑问!

回想当初刚从学校毕业,四处寻找实习机会时,有一次面试中需要完成一道题目;题目内容是解释什么是智能指针。我当时顿时感到一片茫然,因为从未接触过这个概念……

最终,那份面试机会自然也就失去了。

大约是在一年前,如今趁着空闲时间,我决定学习智能指针,以此提升自身的技术能力!

一、为什么要使用智能指针

简要而言,智能指针是一种专为C++开发人员设计的工具,其主要功能在于对通过动态分配方式获取的内存资源进行有效管理,能够自动执行new操作所分配内存的释放过程,从而防止出现内存泄漏的问题!

以下示例展示了一个典型的内存泄漏情形:

复制代码
 #include <iostream>

    
 #include <string>
    
 #include <memory>
    
  
    
 using namespace std;
    
  
    
  
    
 // 动态分配内存,没有释放就return
    
 void memoryLeak1() {
    
 	string *str = new string("动态分配内存!");
    
 	return;
    
 }
    
  
    
 // 动态分配内存,虽然有些释放内存的代码,但

全部评论 (0)

还没有任何评论哟~