zoukankan      html  css  js  c++  java
  • 常引用

    普通的引用:

    1. int a=10;

        int &b=a;//b就是a,a就是b,b相当于a的别名,可以通过修改b的值来改变a的值

        b=20;

        cout<<"a="<<a<<endl;//输出的结果是20,b的值被改变,a的值相应地也被改变

    2.int &a=10;//非法!引用的本质是给内存起别名。而10是一个字面量,是不放在内存里面的,因而没有地址,即:(&10)是错的,压根不存在。                                                                                                                                                                                          

    常引用:

    1. int x=10;

        const int &y=x;//y是x的常引用,y本身是const int类型,其值不能被修改

        y=20;//非法!y的值不允许修改!

        x=30;//合法,x的值可以改变

        cout<<"x="<<x<<endl;

    2.const int &a=10 //合法,C++编译器自己分配了一块int的内存空间,然后用a指向这块内存。

    //常引用通常被用来传参,使得参数具有只读属性而不能被修改

    例如:

    struct Teacher

    {

        int age;

        char name[64];

    };

    void fun(const Teacher &temp)

    {

        t.age=30;//非法!常引用的值不能被修改

        cout<<"age:"<<temp.age<<endl;

        cout<<"name:"<<temp.name<<endl;

    }

    void main()

    {

        Teacher t;

         t.age=25;

         strcpy(t.name,"Li");

        fun(t);

    }

  • 相关阅读:
    扁平化职能管理三部曲
    [转载]持续交付和DevOps的前世今生
    敏捷项目管理工具-百度效率云
    敏捷项目管理:基础知识与应用实务
    第8章 “敏捷+”创新创业模式
    第7章 "敏捷+"项目管理
    第6章 迭代循环与项目结束
    第5章 发布循环
    第4章 立项与项目启动
    Windows 2003 + IIS6.0 相关 401.1 或 401.2 等问题解决
  • 原文地址:https://www.cnblogs.com/jswu-ustc/p/8303529.html
Copyright © 2011-2022 走看看