• C++引用类型详解


    一、引用的概念

    下面的写法定义了一个引用,并将其初始化为引用某个变量。 

    类型名 & 引用名 = 某变量名;   

    int n = 4; 
    int & r = n;  // r引用了 n, r的类型是 int & 

    某个变量的引用,等价于这个变量,相当于该变量的一个别名。 

    • 定义引用时一定要将其初始化成引用某个变量。 
    • 初始化后,它就一直引用该变量,不会再引用别的变量了。 
    • 引用只能引用变量,不能引用常量和表达式。 

    二、常用用法

    2.1 用引用来交换俩个变量的值

    简单实例:

    void swap( int & a, int & b) 
    {  
    	int tmp;
    	tmp = a; a = b; b = tmp; 
    }
    int n1, n2; 
    swap(n1,n2) ; // n1,n2的值被交换 

    2.2 引用作为函数的返回值

    int n = 4; 
    int & SetValue() { return n;  }
    int main()
    {  
    	SetValue() = 40;  
    	cout << n;  
    	return 0; 
    } 

    上面的代码输出为40。可以看出来函数引用了全局变量n。

    三、常引用

    定义引用时,前面加const关键字,即为“常引用”。

    int n; 
    const int & r = n; 

    r 的类型是 const int &  

    • 不能通过常引用去修改其引用的内容
    int n = 100;  
    const int & r = n;  
    r = 200;   //编译错 
    n = 300;  // 没问题 
    • const T & 和T & 是不同的类型!!! T & 类型的引用或T类型的变量可以用来初始化 const T & 类型的引用。 const T 类型的常变量和const T & 类型的引用则不能用来初始化T &类型的引用,除非进行强制类型转换。 
  • 相关阅读:
    初识STM32标准库
    自己写库—构建库函数雏形
    使用寄存器点亮LED等
    新建工程---寄存器版
    什么是寄存器
    初识STM32
    ST-LINK驱动的安装
    MDK5使用技巧
    开发环境的搭建
    1行Python代码制作动态二维码
  • 原文地址:https://www.cnblogs.com/long98/p/10352256.html
Copyright © 2020-2023  润新知