• [C++]引用浅析


    Date:
    2013-12-22


    Summary:

    引用数据类型的一些概念记录
    (沟通中提到引用必须结合语境才能知道说的是引用变量还是“引用”这一行为,再次提到引用指的一般是引用变量)


    Contents:

    1.什么是引用?
    C++中提到引用,一般指的是C++中的变量的一种,它是一种数据类型,一种复合的数据类型.
    C++ Primer plus中提到,引用是已定义的变量的别名。它的主要用途是作为函数的形参(之后会记录函数形参的有关知识,这里就只记录引用了,目的还是在于关注点单一)

    2.创建引用变量
    a).通过类型关键字和&操作符声明引用变量
    b).引用变量必须在声明时初始化

    int num = 10;
    int& refNum = num; (int&描述了变量refNum是一个引用int类型的引用变量)

    3.引用的原理
    定义引用时,程序把引用和它初始值绑定在一起,而不将初始值拷贝给引用。一旦初始化完成,引用将和它的初始值对象一直绑定在一起,无法令引用重新绑定到另外的一个对象

    定义了一个引用之后,对此引用做的一切操作,其实都是在与之绑定的对象上进行的。

     

    Notes:

    Nothing

    EX:

        //
        //  main.cpp
        //  Cpp_All_Test
        //
        //  Created by StephenLee on 1/1/14.
        //  Copyright (c) 2014 StephenLee. All rights reserved.
        //
    
        int num = 10;
        
        // a).
        // 声明一个引用变量refNum,并且在声明时候初始化,否则编译报错
        int& refNum = num;
        
        //可见引用就是其绑定对象的一个别名而已,值相同,地址也相同
        cout << "refNum = " << refNum << " refNum变量 地址:" << &refNum << endl;
        cout << "num = " << num << " num变量 地址:" << &num << endl;
        
        // b).
        // 对引用变量进行的所有操作,其实就是对引用变量绑定的数值进行操作
        // 运算操作
        refNum += 1;
        cout << "refNum = " << refNum << " refNum变量 地址:" << &refNum << endl;
        cout << "num = " << num << " num变量 地址:" << &num << endl;
        // 赋值操作
        int num2 = 20;
        refNum = num2; //注意此处。 看上去好像是修改引用变量,让其引用到其他对象上。其实不是,引用一旦初始化绑定了某个对象
        //就无法再绑定到其他对象上,这里其实是等价于: num = num2; 然后refNum依然绑定的是num而非num2
        cout << "refNum = " << refNum << " refNum变量 地址:" << &refNum << endl;
        cout << "num = " << num << " num变量 地址:" << &num << endl;
    

      

     

    THE END

    人生就是一局不能Again的DOTA
  • 相关阅读:
    02Spring注解开发
    01Spring配置文件
    网络编程
    CHIL-SQL-IN 操作符
    CHIL-SQL-通配符
    CHIL-SQL-LIKE 操作符
    CHIL-SQL-TOP 子句
    CHIL-SQL-DELETE 语句
    CHIL-SQL-UPDATE 语句
    CHIL-SQL-INSERT INTO 语句
  • 原文地址:https://www.cnblogs.com/hellenism/p/3507765.html
Copyright © 2020-2023  润新知