栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++:智能指针

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++:智能指针

1.什么是智能指针?

        是一个类,用来存储指针(指向动态分配对象的指针)。

1.智能指针是通过基本类型(模板类)指针,构造类的对象,只能指针本身就是一个自定义的对象。 2.当此对象被销毁时,即调用此对象的析构函数,释放此指针。 也就是用栈中的空间来管理堆中的内存。

2.最常用的智能指针:

(1)std::auto_ptr 有很多问题,不支持复制(拷贝构造函数)和赋值(operator = ),

但复制或者赋值的时候不会提示出错,因为不能被复制,所以不能被放在容器中。

(2)C++11引入的unique_ptr,也不支持复制和赋值,但比auto_ptr好,直接赋值会编译出错。

实在想赋值的话,需要使用:std::move

auto指针的隐患:

unique_ptr的应用:(相对安全 编译的时候直接报错)

大佬share_ptr出现!

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号