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();  //  获取长度

 

posted @ 2022-02-23 12:48  补码  阅读(261)  评论(0编辑  收藏  举报