右值引用vector
时间: 2024-01-17 13:19:38 浏览: 70
右值引用是C++11引入的一种新的引用类型,用于绑定到右值。右值引用的主要作用是实现移动语义和完美转发。
在使用右值引用绑定vector时,可以通过std::move函数将一个左值转换为右值引用,从而实现对vector的移动操作。
下面是一个演示右值引用绑定vector的例子:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> source = {1, 2, 3, 4, 5};
// 使用右值引用绑定source
std::vector<int>&& target = std::move(source);
// 输出target中的元素
for (int num : target) {
std::cout << num << " ";
}
std::cout << std::endl;
// 注意:source现在为空,因为它的内容已经被移动到target中
std::cout << "source size: " << source.size() << std::endl;
return 0;
}
```
输出结果:
```
1 2 3 4 5
source size: 0
```
在上面的例子中,我们使用std::move函数将source转换为右值引用,并将其绑定到target。然后,我们遍历target并输出其中的元素。最后,我们检查source的大小,发现它已经变为空,因为它的内容已经被移动到target中。
阅读全文