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