zoukankan      html  css  js  c++  java
  • 引用

    一、引用简介

    1. 基本概念
      引用为对象起了一个别名。这个别名等价于这个对象。
    2. 语法
      类型名 & 引用名 = 某变量名;
    int n = 4;
    int &r = n;   //定义一个引用,引用变量n
    //r的数据类型:引用整型变量的 引用类型
    

    二、引用的特点

    • 定义引用时必须初始化。
    • 一旦引用一个变量不可再改变。
    • 只能引用变量,不能引用字面值和表达式。

    注意:引用并非对象,它只是一个为已经存在的对象起的一个别名。

    三、引用的应用举例

    //例1:交换两个数
    void swap( int & a, int & b)
    {
    	int tmp;
    	tmp = a; a = b; b = tmp;
    }
    int n1, n2;
    swap(n1,n2) ; // n1,n2的值被交换
    
    //例2:引用作为函数的返回值
    int n = 4;
    int & SetValue() { return n; }  //函数:返回全局变量n的引用
    int main()
    {
    	SetValue() = 40;   //通过全局变量n的引用修改n的值
    	cout << n;
    	return 0;
    } //输出: 40
    

    四、引用的本质

    引用在C++的底层实现是一个有名字的常量指针。

    Type& name; //等价于:
    Type* const name;
    

    由于这个本质:

    • 引用在定义时必须初始化
    • 引用类占用的内存与指针一样大

    由于C++定义引用概念的目的是让它起到一个别名的作用,因此C++隐藏了引用占用存储空间这一细节。

  • 相关阅读:
    北科的秋天
    最大子段和问题(dp)
    cmd应用
    问题 H: 抽奖活动(大数)
    大数算法
    模板整理(三)
    在CMD中建立一个不能删除的文件
    波利亚(Polya)罐子模型
    51nod-迷宫问题(Dijkstra算法)
    优先队列
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764288.html
Copyright © 2011-2022 走看看