声明语句的构成

在 C++ 中,一条声明语句由一个基本数据类型(base type)和紧随其后的一个声明符(declarator)列表组成。

复合类型的声明

定义多个变量

对于基本数据类型变量的声明,声明符就是变量名。但对于复合类型来讲,例如指针类型和引用类型,变量名却只是声明符的一部分。例如 int *b; 需要注意的是, “*”运算符修饰的对象是变量名,而不是基本类型名。例如 int *a, b; ,此处变量 b 的数据类型为 int,而非 int *。

指针的引用

指针引用的正确定义形式如下:

int a = 1, * b = &a;
int*& c = b; // c为指针b的引用
int&* d = b; // 错误,d表示指向引用的指针,而引用本身并不是一个对象,无法使用指针进行指向

要想正确理解一个复杂的复合类型,可以从右向左进行阅读,离变量名最近的符号越接近该变量的真实类型,如上例中的引用符。