c++11新特性_智能指针_右值引用_ambda表达式

news/2024/12/31 7:22:34/文章来源:https://www.cnblogs.com/blogofzcfu/p/18638703

智能指针

1.管理内存释放问题
2.共享所有权和转移

//用的最多,内涵一个指向计数器,计数器归0的时候,释放对应的内存
//指针本身在栈里面存储,指向的内容是放在堆里面的,栈可以自动释放,堆不可以
shared_ptr  
//检测内存有没有被释放,被释放了就不用了,没被释放才做一些操作
weak_ptr
//纯管理内存,不可以赋值给别人
unique_ptr

右值引用

//利用move,可以用移动构造函数(如果定义了的话,没有定义是用拷贝构造函数),做一个剪切的操作,不拷贝,节省内存和时间
std::move()//举例vector里面
int a=5;
vector<int>p;//vector里面分别用了左值和右值引用来让 a(左值)和 5(右值)都能用
// const int &t = 5  右值可以用一个const来强制引用
//int &&t = 5        &&也是右值引用
//push_back都是用的左值赋值构造
p.push_back(a);
p.push_back(5);//emplace_back都是用的右值引用,剪切构造,
//所以emplace_back会比push_back快
p.emplace_back(a);
p.emplace_back(5);

lambda表达式

捕获列表 []
//如果是按值捕获,在创建lambda表达式的时候,相应的值就会被复制保存一份,
//后面修改,也不会改变已经捕获的值//按引用捕获,时刻保持一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/860835.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请问网站无法在外网访问怎么办

当您遇到网站无法在外网访问的情况时,这可能是由多个因素引起的。以下是详细的排查步骤和建议:检查域名解析: 首先,请确保域名已经正确解析到服务器的IP地址。您可以使用ping或nslookup命令检查域名解析是否正常。如果域名解析有问题,可能会导致外网无法访问。请确认DNS记…

无限制观看,宝宝巴士儿歌TV

点击上方蓝字睿共享关注我 前言 在现今这个应用繁多的市场中,许多同类软件都设置了付费门槛,这让家长们在挑选时感到不小的负担。但这款应用却与众不同,它完全免费,无需登录,更全程无广告打扰,为家长们提供了一个轻松无忧的选择 安装环境 [名称]:宝宝巴士儿歌 [大小]:2…

越关山——一次全新的尝试和突破

一.蓦然回首 作业一:对aigc熟悉和博客园以及GitHub使用 这份作业是接触软工课程的第一个作业。github和aigc工具早已经有了接触。在平时的写代码和完成部分作业任务时已经接收了不少的ai帮忙,ai已经彻底地改变了我们的生活,改变着学习和工作,所以如何更好地使用ai恐怕在将来…

运算放大电路

虚短和虚断的概念

【PbootCMS】测试邮件标题怎么修改(邮箱配置说明)

不喜欢默认的标题样式, 希望自定义相关参数, 可以通过修改核心文件处理。 红色标记区域代码, 可以根据实际需求修改。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站…

一文搞定宝塔LINUX部署上线前后端分离项目

一文搞定宝塔LINUX部署上线前后端分离项目 地址:http://82.156.126.178/ 部署方案: 宝塔Linux,腾讯云服务器2核2G3M,数据库使用腾讯云托管平台mysql 1.跨域问题解决 首先前端区分线上环境和开发环境,主要是请求地址不一样 import axios from axiosconst prefix=process.en…

Windows10 64环境下用Qt5.12.12自带的mingw730_64构建编译OpenCV4.1.0时cmake-3.20.6中的参数配置

一、环境条件说明: 操作系统:Windows10 64环境 编译工具:用Qt5.12.12自带的mingw730_64构建 构建对象:编译OpenCV4.1.0的Release 64位和Debug 64位动态链接库 构建工具:CMake中的参数配置 二、cmake-3.20.6中的参数配置 1、按照下图配置好OpenCV4.1.0的源代码目录和构建编…

闲着没事,用STC12C5616AD制作一个74hc595测试仪

手头有些特别廉价的直插74hc595,怕这些595因为廉价而质量不过关,因而萌发了制作一个测试仪的想法。 用测试仪先对595进行测试,功能正常了,再接入电路应用。 该测试仪能自动向595写入数据,再读出输出数据进行比对,如果读出的并口数据与串行写入的数据不同,说明该IC损坏或…

控制流平坦化初了解(持续更新)

对于平坦化的学习控制流平坦化初了解 原理 借助LLVM(一个底层虚拟机项目,我目前不理解虚拟机这个概念)这个项目,目前理解为类似于一个编译器的东西,把源码通过各式各样的复杂的语义分析翻译成另一个玩意. 但原本是拿来优化的,然后做安全的人拿来改为混淆,就是OLLVM项目,做安全不…

DevEco Studio使用模拟器报错,解决办法

在进行鸿蒙应用开发时,很多开发者没有鸿蒙系统的设备,无法在鸿蒙系统真机上进行调试,这时就需要使用官方提供的模拟器。在菜单栏Tools---Device Manager,打开模拟器弹窗,登录华为账号后即可进行模拟器管理。但在模拟器下载后,点击右侧Actions启动时,会遇到提示报错“模拟…

为什么要做纯血鸿蒙操作系统?

在10月22日,华为最新的原生鸿蒙之夜暨全场景新品发布会上,余承东正式发布了“纯血鸿蒙”操作系统,这是继苹果iOS和安卓系统之后的全球第三大移动操作系统,同时也标志着国产操作系统实现了全面突破。(央视新闻报道https://mp.weixin.qq.com/s/IFatTQ7u7h92iGrr-xEedw)。那…

GIMP 处理 png 透明边缘

首先设置画布大小然后点击 图层 -> 图层到图像大小