remove_extent クラス

配列型から要素型を作成します。

構文

template <class T>
struct remove_extent;

template <class T>
using remove_extent_t = typename remove_extent<T>::type;

パラメーター

T
変更する型。

解説

remove_extent<T> のインスタンスは、T の形式が T1[N] である場合は、修飾型 T1 を保持します。それ以外の場合は、T を保持します。

#include <type_traits>
#include <iostream>

int main()
    {
    std::cout << "remove_extent_t<int> == "
        << typeid(std::remove_extent_t<int>).name()
        << std::endl;T
    std::cout << "remove_extent_t<int[5]> == "
        << typeid(std::remove_extent_t<int[5]>).name()
        << std::endl;T
    std::cout << "remove_extent_t<int[5][10]> == "
        << typeid(std::remove_extent_t<int[5][10]>).name()
        << std::endl;
    return (0);
    }
remove_extent_t<int> == int
remove_extent_t<int[5]> == int
remove_extent_t<int[5][10]> == int [10]

要件

ヘッダー: <type_traits>

名前空間: std

関連項目

<type_traits>
remove_all_extents クラス