欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-25 22:09:45
...

在不使用其他容器的情况下,用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]);
}