C++中利用模板求数组长度的代码
时间:2010-10-06 来源:郁郁思扬
一直觉得数组名传给函数的时候会退化为指针,单从一个指针无法求得数组长度. 前些时候,在网上搜了下,竟然可以利用模板来求出数组长度.实质上,是利用模板把编译器的东西读出来,很是巧妙.
代码如下:
1 template<typename T, int n>
2 inline int arr_size(T (&)[n])
3 {
4 return n;
5 }
相关阅读 更多 +
时间:2010-10-06 来源:郁郁思扬
一直觉得数组名传给函数的时候会退化为指针,单从一个指针无法求得数组长度. 前些时候,在网上搜了下,竟然可以利用模板来求出数组长度.实质上,是利用模板把编译器的东西读出来,很是巧妙.
代码如下:
1 template<typename T, int n>
2 inline int arr_size(T (&)[n])
3 {
4 return n;
5 }