传引用作为形参和返回值_节省参数拷贝的时间

 基本的传引用概念

#include <bits/stdc++.h>
using namespace std;
//说出以下两个函数的区别
int& whatf(int &a,int &b) //如果不希望函数执行过程中 某变量被修改 用const限定
{
    a=3;b=2;
    return a;
}
int whath(int a,int b)
{
    a=3;b=2;
    return a;
}

int main()
{
    int a,b;
    whatf(a,b)++;
    cout<<a<<"  "<<b<<endl;
    //4   2
    return 0;
}

  传引用作为形参和返回值_节省参数拷贝的时间

//传引用和传值的区别
// 效率区别 语法区别
#include <bits/stdc++.h>
using namespace std;
//传引用的好处: 减少临时变量拷贝时的时间消耗
///把引用作为      返回值 和 形参
//返回值 1创建临时变量  2结果拷贝到临时变量 3...
//返回引用  直接得到结果   (但前提是函数知道某外部变量)
//返回的引用可以是:全局变量、传引用的形参
//传引用的载体必须是在函数结束后仍然存在的
//绝对不能传局部变量的引用 函数结束后就没了,,
int a,b,c;
int& wo()       //他是一个变量,有名字、有内存,可进行变量能做的所有运算
{
    b=2;
    return b;
}
int wi()        //他只是是一个值 只能作为con st 常量用
{
    a=2;
    return a;
}
int main()
{
    wo()++;//b=3
    wo()=8;//b=8;
    cout<<b<<endl;
    //wi()++;   //传值返回不能自加
    //wi()=2;   //不能作为左值
    wi();
    cout<<a<<endl;
    return 0;
}

  

posted @ 2017-04-06 21:20  小螺号打豆豆  阅读(349)  评论(0编辑  收藏  举报