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