03 C++之引用

03 C++之引用

2020.8.2


1 引用

(1) 将新标识符和旧标识符绑定的对象绑定在一起,一旦绑定不可以更改,因此,也成为旧标志符别名;

(2) 在定义时使用&符号将标识符和对象绑定,新标志符和绑定对象需类型一致;

范例:

int a = 10;
int &new_a = a;
std::cout << "new_a:" << new_a;

result:

[root@promote test]# ./quote 
new_a:10

(3) 引用和指针辨析

指针是创建一个新对象指向旧对象,因而,指针可以更改指向,不受旧对象限制;

引用是创建一个新的标识符,并绑定在旧对象上,因而,引用只能访问和修改旧对象;

每一个变量创建时都会绑定到一个新对象上,并且,不能更改绑定,只能访问和修改绑定对象;

范例:

#include <iostream>
  2 
  3 using namespace std;
  4 
  5 int main()
  6 {
  7     int a = 10;
  8     int *p = &a;
  9     int *&tmp = p;
 10     int *q = tmp;
 11 
 12     std::cout << "&p : " << &p << std::endl;
 13     std::cout << "&tmp : " << &tmp << std::endl;
 14     std::cout << "*q = " << *q  << std::endl;
 15     return 0;
 16 }

result:

[root@promote test]# ./quote 
&p : 0x7ffdf93c8680
&tmp : 0x7ffdf93c8680
*q = 10

标识符p和tmp指向的内存空间相同,因而,可以证明p和tmp绑定的对象的相同;

注:

本文观点不当之处,请各位同行指正,谢谢大家

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值