假设有一个数组 int arr[10];
可以通过用整个数组的大小除以单个元素的大小来求出长度
#define ARRAY_ITEM_COUNT(a) (static_cast<int>(sizeof(a) / sizeof(*a)))
在学习C++模板的过程中,发现有另外一种方式,可以不用计算,直接得出数组大小,记录一下:
template<typename T, int n>
inline int arr_size(T(&)[n])
{
return n;
}
假设有一个数组 int arr[10];
可以通过用整个数组的大小除以单个元素的大小来求出长度
#define ARRAY_ITEM_COUNT(a) (static_cast<int>(sizeof(a) / sizeof(*a)))
在学习C++模板的过程中,发现有另外一种方式,可以不用计算,直接得出数组大小,记录一下:
template<typename T, int n>
inline int arr_size(T(&)[n])
{
return n;
}
转载于:https://www.cnblogs.com/elspsy/p/8618363.html