在 C++ 中,右值引用是一種特殊的引用類型,它允許我們識別并綁定到右值(即那些即將被銷毀的對象)上。右值引用的定義語法如下:
T&& rvalue_reference;
其中 T
是任意類型,rvalue_reference
是對應(yīng)的右值引用類型。例如,對于整數(shù)類型 int
,右值引用的類型是 int&&
。
以下是一個簡單的示例,展示了如何定義和使用右值引用:
#include <iostream>
// 函數(shù)模板,接受一個右值引用參數(shù)
template<typename T>
void foo(T&& arg) {
std::cout << "右值引用參數(shù): " << arg << std::endl;
}
int main() {
int x = 42;
foo(x); // 傳遞左值
foo(42); // 傳遞右值
return 0;
}
在這個示例中,我們定義了一個名為 foo
的函數(shù)模板,它接受一個右值引用參數(shù) T&& arg
。當(dāng)我們傳遞一個左值(如變量 x
)時,右值引用將綁定到該左值上。當(dāng)我們傳遞一個右值(如字面值 42
)時,右值引用將綁定到該右值上。