亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++ decay中如何處理自定義類型

c++
小樊
86
2024-08-29 23:58:52
欄目: 編程語言

在 C++ 中,std::decay 是一個模板元函數,用于將給定的類型轉換為其“衰減”后的類型。這通常用于從函數參數類型、引用類型或表達式類型中提取基礎類型。對于自定義類型,std::decay 的行為與內置類型相同。

以下是 std::decay 的基本用法:

#include<iostream>
#include <type_traits>

template<typename T>
void print_decayed_type() {
    using decayed_type = typename std::decay<T>::type;
    std::cout<< typeid(decayed_type).name()<< std::endl;
}

class MyClass {};

int main() {
    print_decayed_type<MyClass>();             // 輸出: MyClass
    print_decayed_type<MyClass&>();            // 輸出: MyClass
    print_decayed_type<const MyClass&>();      // 輸出: MyClass
    print_decayed_type<MyClass&&>();           // 輸出: MyClass
    print_decayed_type<MyClass*>();            // 輸出: MyClass*
    print_decayed_type<const MyClass*>();      // 輸出: MyClass const*
    print_decayed_type<MyClass[3]>();          // 輸出: MyClass*
    print_decayed_type<MyClass(int)>();        // 輸出: MyClass (*)(int)
    print_decayed_type<int MyClass::*>();     // 輸出: int MyClass::*
    print_decayed_type<int (MyClass::*)()>();   // 輸出: int (MyClass::*)()

    return 0;
}

在這個例子中,我們定義了一個名為 MyClass 的自定義類型,并使用 print_decayed_type 函數模板打印其衰減后的類型。可以看到,對于自定義類型,std::decay 的行為與內置類型相同。

0
德格县| 松阳县| 南丹县| 泗阳县| 正定县| 方正县| 和平区| 宁武县| 怀集县| 上高县| 娱乐| 中山市| 大田县| 晋州市| 那曲县| 武义县| 花莲县| 英山县| 西城区| 乳源| 茌平县| 来宾市| 彭山县| 阿拉尔市| 泰宁县| 绍兴市| 凌源市| 宿松县| 江阴市| 乌兰浩特市| 寿光市| 鄢陵县| 内乡县| 河曲县| 克拉玛依市| 合作市| 弋阳县| 永年县| 南漳县| 和硕县| 安阳县|