<分区>
在 llvm-3.4\include\llvm\ADT\STLExtras.h
中,我看到了这个函数:
/// Find the length of an array.
template<class T, std::size_t N>
inline size_t array_lengthof(T (&)[N]) {
return N;
}
此函数返回数组长度:
int main(){
const char spaces[] = "dededesdf sdf sdfs fdsf"
"dadsds jsdfdfs ffjsdklfj dsfds";
std::cout << array_lengthof(spaces); //prints 54
return 0;
}
谁能解释一下函数的工作原理以及参数 T (&)[N]
的含义?
有没有什么场景不能使用这个功能?