繁体   English   中英

这里的 T(&arr)[N] 中的 arr 是什么类型

[英]What is the type of arr in T(&arr)[N] here

我在学习模板时遇到了下面这个 function

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__来了解发生了什么,output 是

int length(const T (&)[N]) [with T = int; int N = 4]

const T (&)[N] -> 表示大小为 N 的类型 T 数组引用? 这里的arr类型是什么?

这里的 arr 类型是什么?

它是const T (&)[N] ,即对const T类型的 N 个对象的数组的引用。

请注意,此 function 模板(或几乎相同)已存在于标准库中(名称为std::size ),因此无需重新编写。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM