vector/移动构造(C++11)/左值右值引用

本文介绍了C++11中的vector对象及其使用,重点讲解了移动构造函数和左值右值引用的概念。移动构造函数通过浅层复制提高效率,避免了临时对象的深层复制和删除过程。同时,文章解释了左值和右值的定义,指出右值引用用于引用即将消亡的对象,以解决某些场景下左值引用的限制。
摘要由CSDN通过智能技术生成

vector :可是存放任何类型的数组

vector 对象的定义:

vector <元素类型> 数组对象名(数组长度

例子: vector <int> ary(5) //建立大小为5的数组

可以利用 vector对象名发 [下标表达式]对数组元素进行饮用

获取数组长度:

用size函数:

vector对象名.size()


移动构造:

1. 使用深层复制构造函数: 返回时构造临时对象, 动态分配将临时对象返回到主调函数,然后删除临时对象

2. 使用移动构造函数: 将要返回的局部对象转移到主调函数,省去了构造和删除临时对象的过程

主要说明一下移动构造函数:利用浅层复制,也就是将被复制内容指向复制内容地址,然后将被复制指针定义为空指针。

移动构造函数定义形式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值