c++11 临时对象
对象类型名 + () 没有变量名
就是临时对象,是典型的右值
右值的生命周期是短暂的,右值具有两个特点:
- 所引用的对象即将被销毁;
- 该对象没有其他用户。
这两个特点决定了,可以窃取右值对象的资源,这也为后面的移动构造函数和移动赋值操作符的实现奠定了数据基础。
一般写法,定义一个vector
vector<int> v1(10, 666); |
临时对象写法:
vector<int> (10, 666); |
临时对象使用示例:
对二维vector进行赋值的时候可以用的上,例如
vector<vector<int>> v(10, vector<int> (10, 666)); |
vector (10, 666) 就是一个临时对象
2022年6月23日14:40:44
要保存临时对象要用右值引用,右值引用的形式为&&,允许将右值绑定到引用,如:
auto&& p = vector<int> (10, 666)
int&& q = 6;
int func() { return 6; } int&& ref = func(); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)