我在学习模板时在下面遇到了此功能
template<typename T, int N>
int length(const T(&arr)[N])
{
return N;
}
int main(){
int nums[]{1,2,3,4};
int len = length(nums);
}
我曾经__PRETTY_FUNCTION__
了解发生了什么,输出是
int length(const T (&)[N]) [with T = int; int N = 4]
const T (&)[N]
->表示大小为N的T型数组引用?这里是什么类型arr
?
这里的arr是什么类型?
const T (&)[N]
也就是说,它是对类型为N的对象的数组的引用const T
。
请注意,此功能模板(或几乎相同)已存在于标准库中(名称为std::size
),因此无需重写。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句