C++右值引用是否支持自定義類型

c++
小樊
82
2024-11-01 23:32:06
欄目: 編程語言

是的,C++右值引用支持自定義類型

#include <iostream>

class MyClass {
public:
    MyClass() { std::cout << "MyClass 構(gòu)造函數(shù)" << std::endl; }
    ~MyClass() { std::cout << "MyClass 析構(gòu)函數(shù)" << std::endl; }
};

MyClass&& myClassRValueReference(MyClass&& obj) {
    return obj;
}

int main() {
    MyClass obj;
    MyClass&& rvalueRef = myClassRValueReference(std::move(obj));
    return 0;
}

在這個(gè)例子中,我們定義了一個(gè)名為MyClass的類,并創(chuàng)建了一個(gè)名為myClassRValueReference的函數(shù),該函數(shù)接受一個(gè)右值引用參數(shù)并返回它。在main函數(shù)中,我們創(chuàng)建了一個(gè)MyClass對(duì)象,然后使用std::move將其轉(zhuǎn)換為右值,并將其傳遞給myClassRValueReference函數(shù)。這個(gè)例子展示了右值引用如何支持自定義類型。

0