c++11 左值右值引用例子
下面是一个使用C++11中的左值引用和右值引用的例子:
#include <iostream>
#include <vector>
// 接受左值引用的函数
void modifyValue(int& value) {
value = 100;
}
// 接受右值引用的函数
void modifyValue(int&& value) {
value = 200;
}
int main() {
int x = 10;
// 将x作为左值引用传递给函数
modifyValue(x);
std::cout << "x = " << x << std::endl; // 输出: x = 100
// 将临时变量作为右值引用传递给函数
modifyValue(20);
std::cout << "x = " << x << std::endl; // 输出: x = 100
return 0;
}
在上面的例子中,我们定义了两个函数modifyValue,一个接受左值引用,一个接受右值引用。在main函数中,我们首先将变量x作为左值引用传递给函数modifyValue,这时函数修改了x的值为100。然后,我们将临时变量20作为右值引用传递给函数modifyValue,这时函数修改了临时变量的值为200,但并没有影响到x的值。
左值引用可以绑定到左值,而右值引用可以绑定到右值,通过使用左值引用和右值引用,我们可以更灵活地处理不同类型的值,提高代码的效率和性能。
原文地址: http://www.cveoy.top/t/topic/i7t4 著作权归作者所有。请勿转载和采集!