C++获取数组长度的方法

在不使用其他容器的情况下,用sizeof关键字来获取数组长度:

template <class T>
int length(T& a) {
	return sizeof(a) / sizeof(a[0]);
}

注意,目前就发现上面这一种方法,使用时直接用length(arr)即可,其中arr可以是任何类型。

下面列举的都会出错

//错误一
template <class T>
int length(int& a) {
	return sizeof(a) / sizeof(a[0]);
}
//错误二
int length(int& a) {
	return sizeof(a) / sizeof(a[0]);
}
//错误三
int length(int *a) {
	return sizeof(a) / sizeof(a[0]);
}



猜你喜欢

转载自blog.csdn.net/sinat_38972110/article/details/80088240
今日推荐