专业公司网站 南通,西安网站建设云李,个人申请微信小程序收费吗,电脑app怎么制作目录 目录前言引用的概念交换a和b的值#xff1a;引用作为函数的返回值常引用例子 前言
纯自学#xff0c;看的mooc上郭老师的课#xff0c;整理整理。。。不然全忘了。。
引用的概念
类型名引用名某变量名#xff1b;
intrn#xff1b;
r引用了n#x…目录 目录前言引用的概念交换a和b的值引用作为函数的返回值常引用例子 前言
纯自学看的mooc上郭老师的课整理整理。。。不然全忘了。。
引用的概念
类型名引用名某变量名
intrn
r引用了nr的类型是intr是引用变量。 某个变量的引用等价于这个变量r和n是一回事。 注意 定义引用时一定将其 初始化成引用某个变量 初始化后他就一直引用该变量不会再引用别的变量 引用只能引用变量不能引用常量和表达式
double a4,b5;
double r1a;
double r2r1;
r210;
coutaendl;//输出10
r1b; ///r1没有引用b而是从一而终的引用a这里只不过是对r1赋值 coutaendl; ///5交换a和b的值
指针间接取值
void swap(int*a,int*b)
{
int tmp;
tmp*a;
*a*b;
*btmp;
}
int n1,n2;
swap(n1, n2);///传变量地址调用
传引用调用
int swap(int x,int y)
{
int ta;
int ab;
int bt;
}
swap(m,n);///m,n等价于xy于是x,y交换就mn交换
引用作为函数的返回值
int n4;
int setvalue(){return n//函数返回值是引用这个引用引用了全局变量n
int main)
{setvalue()40;//等价于对n赋值coutn;return 0;
}///输出40
常引用
不能通过常引用修改其引用的内容
int n10;
const intrn;
r200;//错
n300;//可以,引用的内容可以被修改只不过不能通过常引用修改。。
例子
#include iostream
using namespace std;
class A
{public:int x;int getX() { return x; }
};
void swap(Aa,Ab) ///自定义了一个类型Aa是A的对象。。。
{int tmp a.x;a.x b.x;b.x tmp;
}
int main()
{A a,b;a.x 3;b.x 5;swap(a,b);cout a.getX() , b.getX();return 0;
}
交换指针有时在数组里用到。。。 不过可以用strcpy挺麻烦。。
#include iostream
using namespace std;void swap(int*a,int*b)///交换两个指针指向的地址,引用的是个指针。。。
{int * tmp a;a b;b tmp;
}
int main()
{int a 3,b 5;int * pa a;int * pb b;swap(pa,pb);cout *pa , * pb;return 0;
}
返回值是引用引用了a[i],于是返回值是它。。 然后对它赋值
#include iostream
using namespace std;
int getElement(int * a, int i)
{return a[i];
}
int main()
{int a[] {1,2,3};getElement(a,1) 10;cout a[1] ;return 0;
}