C++primer2.3 复合类型指针和引用

本文详细介绍了C++中的引用和指针的概念、用法和区别,包括左值引用、右值引用、引用初始化、const变量和引用的定义与使用,以及引用与指针在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大纲

  1. 引用
  2. 指针

一、引用 &

这里说的都是左值引用,也就是别名。
右值引用是取地址。

  1. 引用其实就是给对象起一个别名,所以在刚刚定义一个引用的时候必须初始化,不然人家怎么知道你给谁起的别名;
  2. 初始化的时候,初始化的值不能为字面值或表达式,而且引用的类型也一定要和与之绑定的对象严格匹配。(ps:初始化常量引用时,可以允许绑定非常量的对象、字面值,甚至是一个表达式。)

           int   i=42;
          const  int  &r1=i;
          const  int  &r2=42;
          const  int  &r3=r1*2;
          int  & r4=r1  *  2;   这个是不可以的,因为r4是常量引用。
    
  3. 引用将它和初始值对象一直绑定在一起,因为不能令引用重新绑定到另外一个对象,因此引用必须初始化;

  4. 定义引用之后,对其进行的所有操作都是在与之绑定的对象上进行的,为引用赋值,其实就是给所绑定的对象赋值,但是如果定义的是常量的引用,那就不能通过修改所建立的引用对象来修改所绑定的对象的值;
  5. 引用本身不是一个对象,所以不能定义引用的引用;

二、指针 *

三、const变量和引用

  1. 定义const变量,定义时必须初始化,定义之后就不能改了;
  2. 非const引用只能绑定到与该引用相同类型的对象, const引用则可以绑定到不同但相关的类型的对象或绑定到右值;

关于const的初始化以及其他内容太多,这里不总结了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值