zoukankan      html  css  js  c++  java
  • C++引用的使用

    例题 1

    int f(int i)

    {

      return ++i;

    }

    int g(int &i)

    {

    return ++i;

    }

    void main()

    {

      int a,b;      

    a=b=0;

    a+=f(g(a));    这里一个是引用 一个是普通的调用 先执行g(a) g(0)-> 1 同时修改了a的值=1 f(1)->2 a+=2 a=a+2 注意此时的a已经变为了1 所以最后得到 a = 3

    b+=f(f(b));    这里是普通的函数,只改了形参,不影响实参,f(b)=1 但是此时的a还是0,f(1) = 2 a+=2  a=a+2 此时的a=0 所以得到的 a=2

    cout<<"a="<<a<<" b="<<b<<endl;

    }

    例题2

    int &max(int &x,int &y)

    {

       return (x>y?x:y);

    }

    void main()

    {

       int n=2,m=10;

       max(n,m)--;  这里执行后到结果是 10 但是-- 后返回的是实参y 也就是 m = 10-- = 9

       cout<<”n=”<<n<<”,m=”<<m<<endl;     //得到的结果是 n=2,m=9

    }

  • 相关阅读:
    MapReduce 基础
    HDFS 快照(了解)
    HDFS 回收站(了解)
    HDFS 数据拷贝
    微信小程序(9)——多个空格写法
    react中使用jsonp跨域
    docker 介绍
    事务,悲观锁和乐观锁
    接口幂等性
    分布式爬虫
  • 原文地址:https://www.cnblogs.com/xiaozoui11cl/p/12763286.html
Copyright © 2011-2022 走看看