关于引用

1.引用必须在声明时初始化;

2.引用永远只能绑定到初始化时的对象,不能更改;

3.不能定义引用的引用;

4.引用必须用与该引用类型相同的对象初始化(const引用除外);

5. int a=3;

   const int &b=a;

   const是指b是const型,不能通过改变b来改变a的值,但是可以直接改变a的值,如a=4,此时a=b=4.

6. const int a=3;

    int &b=a;

    不合法,因为这样的话,意味着可以通过改变b的值来改变a的值了,a是const型,而b只是个别名而已。

    任何将普通引用绑定到const对象的操作都是不合法的,而可以将const引用绑定到普通对象上,比如经常用const引用作函数形参,可防止在函数中无意修改了实参的值。

    const引用也可以绑定到const对象上。

7. const引用绑定的对象可以与其类型不同,只要是相关的就可以。

    double a=3.14;

    const int &b=a;

    编译器的实际操作为:

   int temp=a;

   const int &b=temp;

   所以类型不同时,引用必须为const,否则则意味着可以通过修改引用的值来改变对象的值,但这是不可能的,因为只会改变中间变量的值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值