C++利用函数模板得到数组的长度

#include<iostream>                                                                                                                                                                            
                                                                                                                                                                                              
template <typename T, int N>                                                                                                                                                                  
int ArraySize (T (&arr)[N]) { //此处是数组的引用,在C语言中不支持                                                                                                                                                                
    return N;                                                                                                                                                                                 
}                                                                                                                                                                                             
                                                                                                                                                                                              
int main()                                                                                                                                                                                    
{                                                                                                                                                                                             
    int x[10];                                                                                                                                                                                
    std::cout << ArraySize(x) << std::endl;                                                                                                                                                   
    double y[20];                                                                                                                                                                             
    std::cout << ArraySize(y) << std::endl;                                                                                                                                                   
} 
posted @ 2017-05-27 09:13  keviwu  阅读(1564)  评论(0编辑  收藏  举报