C++学习心得(3)

一、引用的一些心得

  1. 引用类型的变量在声明时必须初始化。
  2. 把const放到引用之前声明表示是一个常量引用。不能使用常量引用修改引用变量的值。即常量类型的变量,引用也必须是常量类型的;对于非常量类型的变量,引用可以是非常量的也可以是常量的。

二、指针和引用的区别

  1. 初始化要求不一样:引用创建时必须初始化,而指针在定义时可以不初始化。
  2. 可修改性不同:引用一旦初始化指向一个对象,它就不能被修改成另一个对象的引用。但是指针在任何时候都可以改变指向另一个对象。
  3. 引用不能使用指向空值的引用,必须总指向某个对象,指针可以,所以指针更加灵活。
  4. 测试区别:引用不会指向空值,所以使用引用之前不需要测试其合法性。但是指针需要经常测试,所以引用的代码效率比指针要高。
  5. 应用区别:如果指一旦指向一个对象后不会改变指向,应该使用引用。如果存在指向NULL或者不同时刻有指向不同对象的可能性,应该使用指针。
    综述,在二进制层面,引用一般都是通过指针实现的,只不过编译器帮我们完成了转换。总体来说,指针具有指针的效率,又拥有变量的方便性和直观性。从传递角度来说,传引用比传指针安全。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值