原链接:https://www.cnblogs.com/newbeeyu/p/6360212.html
1.c++primer
首先,数组作为形参,有引用和非引用两种形式。一般我们使用非引用形式,也就是将形参定义为数组元素类型的指针,一共有三个等价形式:
1.void func(int *p);
2.void func(int p[]);
3.void func(int p[10]);
template<size_t size>void _Log(char (&strDest)[size], const char *scetion, const char *key, const char *msg, va_list &parm);
模板非类型形参是模板定义内部的常量值,在需要常量表达式的时候,可使用非类型形参指定数组的长度, 当调用 func是,编译器会从数组的实参计算非类型形参的值,也就是编译器替我们
计算好了size的值,从而省去我们自己传递长度。