Ara*_*raK 4 c++ arrays templates metaprogramming
我正在阅读此页面: C++提示:如何获取数组长度.作者提出了一段代码来了解静态数组的大小.
template<typename T, int size>
int GetArrLength(T(&)[size]){return size;} // what does '(&)' mean ?
.
.
.
int arr[17];
int arrSize = GetArrLength(arr); // arrSize = 17
Run Code Online (Sandbox Code Playgroud)
任何人都可以阐明这段代码,因为我无法理解它是如何工作的.
该函数将reference(&)传递给type T和size 数组size.