C++中的引用

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。(必须初始化),不占空间,不开辟空间,引用和被引用变量拥有相同的地址

引用一旦初始化,就不能修改指向

举例:
  int i = 17;
  int&  r = i;    定义并初始化引用变量( r 完全等价于 i )

对数组的引用

示例:
  int a[5] = {10, 15, 30, 12, 80};typedef 定义数组类型
     typedef 类型 变量名[size];
    示例: typedef int arr[5] ;  
    
  使用:变量名 数组名={};等价于 基本类型(&引用变量名)[大小]
      示例: arr& c = a;           int (&d)[5] = a;
      
  定义数组引用 变量名&引用变量名=数组;

函数中的引用

引用作为函数参数
示例:
  void exchange(int& a, int& b)
  {
        int c = a;
        a = b;
        b = c;
  }
引用作为函数返回值(返回的是返回值的别名);不要返回局部变量的引用,会非法访问内存,除非保证不被释放( static )
如果函数返回值为左值,则其返回的值是引用
示例:
    int& exchange(void)
 	 {
        static int e = 20;
        return e;
 	 }
    exchange() = 50;
    e的值变为50  

引用的本质是常量指针

指针的引用

类型* &指针变量名
示例:
  char* &p;  指针的引用,等同于二级指针 

常量引用(既降低内存开销,又安全)

示例:
    const int & a;const修饰引用,无法通过引用更改值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值