C++ 指针 —02 指针与引用的对比

本文详细对比了C++中的指针与引用,指出了它们在空值、合法性、可修改性及应用上的差异。指针可变且可能为空,而引用一旦初始化即固定,不能为null,更安全。此外,指针的类型安全不如引用,引用在编译阶段会进行类型检查。
摘要由CSDN通过智能技术生成

★相同点:

●都是地址的概念;

指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。

★不同点:

●指针是一个实体,而引用仅是个别名;

●引用只能在定义时被初始化一次,之后不可变;指针可变;引用 “从一而终”,指针可以 “见异思迁”;

●引用没有 const,指针有 const,const 的指针不可变;

●引用不能为空,指针可以为空;

●“sizeof 引用” 得到的是所指向的变量 (对象) 的大小,而 “sizeof 指针” 得到的是指针本身的大小;

●指针和引用的自增 (++) 运算意义不一样;

●引用是类型安全的,而指针不是 (引用比指针多了类型检查)

总结:

1. 非空区别。  任何情况下都不能使用指向空值的引用。

2. 合法性区别。  在使用引用之前不需要测试它的合法性,指针则总是被测试,防止其为空。

3. 可修改区别。  指针可以被重新赋值指向不同的对象。  引用不能被修改,但是指向的对象其内容可以修改。

4. 应用区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值