c++—引用。。。
目錄
- 目錄
- 前言
- 引用的概念
- 交換a和b的值:
- 引用作為函數(shù)的返回值
- 常引用
- 例子
前言
純自學(xué),看的mooc上郭老師的課,整理整理。。。不然全忘了。。
引用的概念
類(lèi)型名&引用名=某變量名;
int&r=n;r引用了n,r的類(lèi)型是int&,r是引用變量。
某個(gè)變量的引用等價(jià)于這個(gè)變量,r和n是一回事。
注意:
定義引用時(shí)一定將其 初始化成引用某個(gè)變量;
初始化后,他就一直引用該變量,不會(huì)再引用別的變量;
引用只能引用變量,不能引用常量和表達(dá)式;
交換a和b的值:
指針間接取值
void swap(int*a,int*b) { int tmp; tmp=*a; *a=*b; *b=tmp; } int n1,n2; swap(&n1,& n2);///傳變量地址調(diào)用傳引用調(diào)用
int &swap(int &x,int &y) { int t=a; int a=b; int b=t; } swap(m,n);///m,n等價(jià)于x,y,于是x,y交換,就m,n交換;引用作為函數(shù)的返回值
int n=4; int &setvalue(){return n;}//函數(shù)返回值是引用,這個(gè)引用引用了全局變量n; int main() {setvalue()=40;//等價(jià)于對(duì)n賦值cout<<n;return 0; }///輸出40常引用
不能通過(guò)常引用修改其引用的內(nèi)容;
int n=10; const int&r=n; r=200;//錯(cuò) n=300;//可以,引用的內(nèi)容可以被修改,只不過(guò)不能通過(guò)常引用修改。。例子
#include <iostream> using namespace std; class A { public:int x;int getX() { return x; } }; void swap(A&a,A&b) ///自定義了一個(gè)類(lèi)型A,a是A的對(duì)象。。。 {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; }交換指針,有時(shí)在數(shù)組里用到。。。
不過(guò)可以用strcpy,挺麻煩。。
返回值是引用,引用了a[i],于是返回值是它。。
然后對(duì)它賦值
總結(jié)
- 上一篇: tomcat java垃圾回收_tomc
- 下一篇: c++ 不能分配给为0的数组_【嵌入式C