首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
CPP
订阅
foolcats
更多收藏集
微信扫码分享
微信
新浪微博
QQ
4篇文章 · 0订阅
C++左值/右值、左值引用&/右值引用&&、移动语义move、完美转发forward
本文已参与「新人创作礼」活动, 一起开启掘金创作之路。 前言 C++11 在性能上做了很大的改进,最大程度减少了内存移动和复制,通过右值引用、 forward、emplace 和一些无序容器我们
一次性搞定右值,右值引用(&&),和move语义
英文版发表在hackernoon并在我的博客存档。 本文是汉化重制版。 简单点说,右值就是在等号右边的值。 够简单吧。我们看一个更隐晦的情况,函数返回右值。 注意,我在例子里函数返回左值只是为了做演示,现实生活中请勿模仿。 其实,在右值引用(&&)发明之前,右值就已经可以影响代…
C++概念:引用折叠、模板推导、通用引用
1. 引用折叠规则 如果间接的创建一个引用的引用,则这些引用就会“折叠”(空格前为模板T类型)。 2. 模板推导 上面这个例子是函数模板的通用例子,其中T是根据f函数的参数推导出来的,而ParamType则是根据 T 推导出来的。T与ParamType有可能相等,也可能不等,因…
C++概念:右值引用,移动语义,完美转发
1. 右值引用 C++11以前,右值被认为是无用的资源,所以在C++11中引入了右值引用,就是为了重用右值。定义右值引用需要使用&&。 右值引用一定不能被左值所初始化,只能用右值初始化。那么为什么呢?因为右值引用的目的是为了延长用来初始化对象的生命周期,对于…