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) 就是一个临时对象

   

   

   

   

   

202262314:40:44

要保存临时对象要用右值引用,右值引用的形式为&&,允许将右值绑定到引用,如:

auto&& p = vector<int> (10, 666)

   

   

int&& q = 6;

   

   

int func() {

return 6;

}

int&& ref = func();

 

posted @   atomxing  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示