cpp——复合类型——引用

引用

引用本质为const指针,引用基础类型为指针指向的目标类型,只是表现的像非指针,以此来降低指针使用复杂度,因此引用必须初始化

引用的指针属性

void ref_pointer()
{
    int i1 = 5;
    int i2 = 8;
    
    int* pi = &i1;
    int& ri = i1;
    
    cout << "&i1 = " << &i1 << ", &i2 = " << &i2 << endl;
    
    cout << "-----1-----" << endl;
    cout << "i1 = " << i1 << ", i2 = " << i2 << endl;
    cout << "pi = " << pi << ", *pi = " << *pi << endl;
    cout << "&ri = " << &ri << ", ri = " << ri << endl;
    
    ri = i2;
    
    cout << "-----2-----" << endl;
    cout << "i1 = " << i1 << ", i2 = " << i2 << endl;
    cout << "pi = " << pi << ", *pi = " << *pi << endl;
    cout << "&ri = " << &ri << ", ri = " << ri << endl;
}
output:
&i1 = 0x7fff5fbff79c, &i2 = 0x7fff5fbff798
-----1-----
i1 = 5, i2 = 8
pi = 0x7fff5fbff79c, *pi = 5
&ri = 0x7fff5fbff79c, ri = 5
-----2-----
i1 = 8, i2 = 8
pi = 0x7fff5fbff79c, *pi = 8
&ri = 0x7fff5fbff79c, ri = 8

引用的const属性

void ref_const()
{
    int vi = 5;
    
    int const ci = vi;
    
    //int& r1;
    
    int& r2 = vi;
    
    //int& r3 = ci;
    
    int const& r4 = vi;
    
    int const& r5 = ci;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值