17、复合类型之引用(P45、P46)

发布时间 2023-09-09 15:22:02作者: 多一些不为什么的坚持

 

P45倒数第五行“引用为对象起了另外一个名字,引用类型引用另外一种类型。”

int x = 10; // 声明一个整数变量x,并初始化为10
int &refX = x; // 声明一个整数引用refX,它是x的别名

ref就是x的另外一个名字,refX就是引用类型,它引用了x(int整形)

P45倒数第四行,

声明符:

具体来说,声明符可以包含以下部分:

  1. 基本类型或用户自定义类型: 这指定了声明符标识符的类型。基本类型如 intfloatchar 等,而用户自定义类型如 classstructenum 等。

  2. 标识符: 这是声明的名称,用于标识该声明符所代表的实体(变量、函数、类等)。

  3. 指针和引用符号: 可以用于指定指针或引用类型。

  4. 修饰符: 可以包括 constvolatilestatic 等修饰符,用于修改声明符的行为和属性。

  5. 函数参数列表: 对于函数声明符,它还可能包含参数列表,指定函数接受的参数类型和名称。

以下是一些例子来解释不同类型的声明符:

  1. 基本类型的变量声明:
int age; // 声明一个名为 age 的整数变量
age是标识符
int是声明符
  1. 指针声明:
int *ptr; // 声明一个指向整数的指针变量
int *是声明符
ptr是标识符
  1. 引用声明:
int x = 10; 
int &refX = x; // 声明一个整数引用 refX,它是 x 的别名
int &是声明符
refX是标识符
  1. 函数声明:
int add(int a, int b); // 声明一个函数 add,接受两个整数参数并返回一个整数结果
int是声明符
add是标识符
  1. 带有修饰符的声明:
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; // 错误,这种也是引用的引用

引用的类型:指的是引用所引用的对象的类型