• C++入门经典-例5.16-输出引用


    1:如不加特殊说明,一般认为引用指的都是左值引用。引用实际上是一种隐式指针,它为对象建立一个别名,通过操作符&来实现,引用的形式如下:

    数据类型 & 表达式;

    例如:

    int a=10;

    int & ia=a;

    ia=2;

        上面的程序定义了一个引用变量ia,它是变量名a的别名,对ia的操作与对a的操作完全一样。“ia=2”把2赋给a,“&ia”返回a的地址。执行“ia=2”和执行“a=2”等价。

        使用引用的说明如下:

    (1)一个C++引用被初始化后,无法使用它再去引用另一个对象,它不能被重新约束。

    (2)引用变量只是其他对象的别名,对它的操作与原来对象的操作具有相同作用。

    (3)指针变量与引用主要区别有两点:一是指针是一种数据类型,而引用不是一个数据类型,指针可以转换为它所指向变量的数据类型,以便使赋值运算符两边的类型相匹配;而使用引用时,系统要求引用和变量的数据类型必须相同,否则不能进行数据类型转换。二是指针变量和引用变量都用来指向其它变量,但指针变量使用的语法要复杂一些;定义引用变量后,其使用方法和普通变来那个相同。

    例如:

    int a;

    int *pa=&a;

    int & ia=a;

    示例代码如下:

    // 5.16.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    void main()
    {
        int a;
        int & ref_a = a;
        a = 100;
        cout << "a= " << a << endl;
        cout << "ref_a=" << ref_a << endl;
        a = 2;
        cout << "a= " << a << endl;
        cout << "ref_a=" << ref_a << endl;
        int b = 20;
        ref_a = b;
        cout << "a= " << a << endl;
        cout << "ref_a=" << ref_a << endl;
        ref_a--;
        cout << "a= " << a << endl;
        cout << "ref_a=" << ref_a << endl;
    }
    View Code

    运行结果:

  • 相关阅读:
    bzoj1297: [SCOI2009]迷路
    bzoj1875: [SDOI2009]HH去散步
    bzoj2466: [中山市选2009]树
    bzoj1770: [Usaco2009 Nov]lights 燈
    BZOJ 1965: [Ahoi2005]SHUFFLE 洗牌( 数论 )
    BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )
    BZOJ 1006: [HNOI2008]神奇的国度( MCS )
    BZOJ 1925: [Sdoi2010]地精部落( dp )
    BestCoder Round #57 (div.2)
    BZOJ 1216: [HNOI2003]操作系统( 优先队列 )
  • 原文地址:https://www.cnblogs.com/lovemi93/p/7526624.html
Copyright © 2020-2023  润新知