获取数组维度数。
语法
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