不应将不同类别的声明写在一个语句中
6.4.8 ID_mixedDeclarations
将对象、指针、引用、数组、函数等不同类别的声明写入一个语句可读性较差,易引起误解。
本规则是 ID_tooManyDeclarators 的特化。
示例:
typedef int* p, n; // Non-compliant
int* a, b, c[8], d(int), e = 0; // Non-compliant
混在一起的声明易引起误解,例中 p 和 n 是不同的类型,只有 e 被初始化,d 为函数。
应分开声明:
typedef int* p; // Compliant
typedef int n; // Compliant
int* a; // Compliant
int b; // Compliant
int c[8]; // Compliant
int d(int); // Compliant
int e = 0; // Compliant