求解template<typename T, int size> int asz(T (&)[size]) { return size; }。这个模板函详细解释,谢谢
发布网友
发布时间:2023-05-24 14:31
我来回答
共2个回答
热心网友
时间:2023-10-10 06:26
template<typename T, int size>//类模板T和参数化int变量size
int asz(T (&)[size]) //函数返回int类型,函数以T医用类型的数组作为参数,数组有size个元素
{
return size; //返回size的值
}追问那里面的asz(T (&)[size])参数解释下撒
追答函数以T引用类型的数组作为参数,数组有size个元素
说实话这样子的写法我却是第一次看到!~
热心网友
时间:2023-10-10 06:26
返回一个数组变量的长度。
比如:
#include<iostream>
#include<vector>
#include <cstring>
using namespace std;
template<typename T, int size> int asz(T (&)[size]) { return size; }
int main()
{
int arr[30];
cout << asz(arr) << endl;
string strArr[15];
cout << asz(strArr) << endl;
return 0;
}
输出:
30
15追问(T (&)[size])为什么弄成这样?