17、复合类型之引用(P45、P46)
P45倒数第五行“引用为对象起了另外一个名字,引用类型引用另外一种类型。”
int x = 10; // 声明一个整数变量x,并初始化为10 int &refX = x; // 声明一个整数引用refX,它是x的别名
ref就是x的另外一个名字,refX就是引用类型,它引用了x(int整形)
P45倒数第四行,
声明符:
具体来说,声明符可以包含以下部分:
-
基本类型或用户自定义类型: 这指定了声明符标识符的类型。基本类型如
int
、float
、char
等,而用户自定义类型如class
、struct
、enum
等。 -
标识符: 这是声明的名称,用于标识该声明符所代表的实体(变量、函数、类等)。
-
指针和引用符号: 可以用于指定指针或引用类型。
-
修饰符: 可以包括
const
、volatile
、static
等修饰符,用于修改声明符的行为和属性。 -
函数参数列表: 对于函数声明符,它还可能包含参数列表,指定函数接受的参数类型和名称。
以下是一些例子来解释不同类型的声明符:
- 基本类型的变量声明:
int age; // 声明一个名为 age 的整数变量
age是标识符
int是声明符
- 指针声明:
int *ptr; // 声明一个指向整数的指针变量
int *是声明符
ptr是标识符
- 引用声明:
int x = 10;
int &refX = x; // 声明一个整数引用 refX,它是 x 的别名
int &是声明符
refX是标识符
- 函数声明:
int add(int a, int b); // 声明一个函数 add,接受两个整数参数并返回一个整数结果
int是声明符
add是标识符
- 带有修饰符的声明:
const double pi = 3.14; // 声明一个常量 pi,值为3.14 static int count = 0; // 声明一个静态整数变量 count,其生命周期跨越函数调用
//const是修饰符
声明符是 C++ 中重要的概念,它决定了程序中各种实体的类型和属性,因此正确使用和理解声明符对于编写有效和正确的代码非常重要。
"因为引用本身不是一个对象,所以不能定义引用的引用。"对这句话怎么理解?
一个&表示引用一次,两个&就表示引用两次(引用的引用)。
int x = 10; int &refX = x;
int &&refRefX = refX; // 错误,不能定义对引用的引用
int x = 10;
int &&refRefX = x; // 错误,这种也是引用的引用
引用的类型:指的是引用所引用的对象的类型