基本的传引用概念
#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;
}