rank

获取数组维度数。

语法

template <class Type>
struct rank;

模板参数

Type
要查询的类型。

注解

类型查询保存数组类型的 Type维度数的值,如果 Type 不是数组类型,则为 0。

示例

// std__type_traits__rank.cpp
// compile with: /EHsc

#include <type_traits>
#include <iostream>

int main()
{
    std::cout << "rank<int> == "
        << std::rank<int>::value << std::endl;
    std::cout << "rank<int[5]> == "
        << std::rank<int[5]>::value << std::endl;
    std::cout << "rank<int[5][10]> == "
        << std::rank<int[5][10]>::value << std::endl;

    int single_dim_array[]{ 1, 2, 3 };
    int double_dim_array[2][1]{ { 4 }, { 5 } };

    std::cout << "\nrank<decltype(single_dim_array)> == "
        << std::rank<decltype(single_dim_array)>::value << std::endl;
    std::cout << "rank<decltype(double_dim_array)> == "
        << std::rank<decltype(double_dim_array)>::value << std::endl;
}
rank<int> == 0
rank<int[5]> == 1
rank<int[5][10]> == 2

rank<decltype(single_dim_array)> == 1
rank<decltype(double_dim_array)> == 2

要求

标头<type_traits>

命名空间std

另请参阅

<type_traits>
extent