#include <iostream>
using namespace std;
template <class T>
int getArrSize(T& arr){
return sizeof(arr) / sizeof(arr[0]);
}
// begin()返回指向数组首元素的指针,end()返回指向尾元素的下一位置的指针
template <class T>
int getArrLength(T& arr) {
return end(arr) - begin(arr);
}
// 但是这两种方法在字符数组的情况下都会多一个长度,因为有'\0', 所以要处理一下
char c[] = "abc";
cout << "getArrSize: " << getArrSize(c) << " getArrLength: " << getArrLength(c) << endl;
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)