使用模板template。
1、求数组长度的模板函数:
template<class T>
int length(T& arr)
{
//cout << sizeof(arr[0]) << endl;
//cout << sizeof(arr) << endl;
return sizeof(arr) / sizeof(arr[0]);
}
2、完整测试代码:
#include<iostream>
using namespace std;
template<class T>
int length(T& arr)
{
//cout << sizeof(arr[0]) << endl;
//cout << sizeof(arr) << endl;
return sizeof(arr) / sizeof(arr[0]);
}
int main()
{
//整型数组
int arr[] = { 1,5,9,10,9,2 };
cout<<length(arr)<<endl;
//字符串数组
string str[]={"a","bd","as","a",""};
cout<<length(str);
return 0;
}