| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++11花落知多少 -> 正文阅读 |
|
[C++知识库]C++11花落知多少 |
(一)讲一下右值引用https://blog.csdn.net/chenxiyuehh/article/details/93665922 (二)lambda(三)智能指针auto_ptr(已被弃用)、shared_ptr、weak_ptr、unique_ptr 【1】为什么要使用智能指针
auto_ptr: 1)已弃用,auto_ptr存在内存崩溃的问题,因为采用的是对象所有权模式,用auto_ptr进行资源转移,不能共享对象的所有权; 2)被赋值或者拷贝后,失去对原指针的管理; 3)不能管理数组指针,因为auto_ptr的内部实现中,析构函数中删除对象使用的是delete而不是delete[], 释放内存时仅释放了数组的第一个元素的空间,会造成内存泄漏; 4)不能作为容器对象,因为STL容器中的元素经常要支持拷贝、赋值等操作; unique_ptr: 1)是auto_ptr的优化版本,严格意义上的独享所有权,采用了对象所有权模式,保证同一时间只能有一个智能指针指向该对象; 2)拷贝构造和赋值运算符被禁,不能进行拷贝构造和赋值运算; share_ptr: 1)shared_ptr:多个指针可以共享相同对象,该对象及资源会在最后一个引用被销毁时释放 2)但是如果有两个shared_ptr相互引用,那么这两个引用计数永远不为0,资源不被释放; weak_ptr: 1)weak_ptr:解决shared_ptr相互引用时,产生死锁的问题,计数永远降不到0,没办法进行资源释放,造成内存泄漏问题。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 19:56:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |