C++中利用模板求数组长度的代码

一直觉得数组名传给函数的时候会退化为指针,单从一个指针无法求得数组长度. 前些时候,在网上搜了下,竟然可以利用模板来求出数组长度.实质上,是利用模板把编译器的东西读出来,很是巧妙.

代码如下:

 

1 template<typename T, int n>
2 inline int arr_size(T (&)[n])
3 {
4 return n;
5 }

 

posted on 2010-10-06 23:26  郁郁思扬  阅读(457)  评论(0编辑  收藏  举报

导航