导航

关于常量引用

本身,引用是对对象的引用。

常量引用,是不可通过该引用对绑定的对象进行修改,意思是,绑定的对象也许可以修改,也许不可以修改。

定义引用时,一定要给出绑定的对象,之后,不可修改绑定的对象;此时,绑定对象的类型和引用对象的类型要求严格匹配。

而常量引用初始化时,可以使用非常量的对象、字面值,甚至是表达式,而且,只要其可以转换为引用的对象类型即可。

但是,如果常量引用的对象类型和绑定的对象类型一致,常量引用确实是绑定到给定对象;

可如果存在需要转换的情况,此时,会另辟一块内存存放转换的结果,引用绑定到这块内存;当给出的对象发生修改时,内存内容不变。

#include <iostream>

using namespace std;


int main()
{
        double dval = 3.14;
        const int &ri = dval;

        cout << ri << endl;
        dval = 5.78;
        cout << ri << endl;

        int a = 5;
        const int &ra = a;
        cout << ra << endl;
        a = 6;
        cout << ra << endl;
        return 0;
}

 

posted on 2022-03-18 15:01  toughcactus  阅读(229)  评论(0编辑  收藏  举报