c++ - 神秘的 oneliner 模板代码,任何一个?

标签 c++ arrays templates metaprogramming

<分区>

我正在阅读此页面: C++ Tip: How To Get Array Length .作者给出了一段代码来了解静态数组的大小。

template<typename T, int size>
int GetArrLength(T(&)[size]){return size;} // what does '(&)' mean ?
.
.
.
int arr[17];
int arrSize = GetArrLength(arr); // arrSize = 17

谁能解释一下这段代码,因为我不明白它是如何工作的。

最佳答案

该函数被传递一个引用 (&) 到类型为 T 和大小为 size 的数组。

关于c++ - 神秘的 oneliner 模板代码,任何一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1179378/

相关文章:

javascript - 从数组中随机选择字体并且不重复

php - 将多维数组从 PHP 传递到 jQuery

c++ - 将原始指针和智能指针的容器传递给模板函数

c++ - 为什么cout的输出<< 7/9*9;是零吗?

c++ - C++中使用指针识别对象类型

c++ - 如何根据引用修饰符进行深复制或浅复制?

c++ - std::array 作为类的模板参数

c++ - C++ 二进制代码能否通过 native C 接口(interface)变得可移植?有什么限制?

c - c中变量的类型

python - 如何防止 Django 模板中的自动转义?