在 C++ 中,右值引用是一种特殊的引用类型,它允许我们识别并绑定到右值(即那些即将被销毁的对象)上。右值引用的定义语法如下:
T&& rvalue_reference;
其中 T
是任意类型,rvalue_reference
是对应的右值引用类型。例如,对于整数类型 int
,右值引用的类型是 int&&
。
以下是一个简单的示例,展示了如何定义和使用右值引用:
#include <iostream>
// 函数模板,接受一个右值引用参数
template<typename T>
void foo(T&& arg) {
std::cout << "右值引用参数: " << arg << std::endl;
}
int main() {
int x = 42;
foo(x); // 传递左值
foo(42); // 传递右值
return 0;
}
在这个示例中,我们定义了一个名为 foo
的函数模板,它接受一个右值引用参数 T&& arg
。当我们传递一个左值(如变量 x
)时,右值引用将绑定到该左值上。当我们传递一个右值(如字面值 42
)时,右值引用将绑定到该右值上。