C++使用模板方式获取数组长度
// 方法一
template<typename T> int arr_length(T(&arr) ) { return sizeof(arr) / sizeof(arr[0]); } // 方法二 template<typenameT, int N> int arr_length(T(&arr)[N]) { return N; }
PS:作为现代C++程序员,自然应该想到使用std::array
而不是内置的数组:
std::array<int, 20> arr; arr.size(); // 获取长度