在C++ 中 & 有兩種意思,一種是表示取地址 ,另一種表示 引用
個(gè)人理解引用就是變量都指向同一個(gè)內(nèi)存地址
實(shí)際看一下這兩種的區(qū)別
取地址
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main(){
int n1 = 99;
//這種賦值操作表示 將 n1 的地址取出并賦給 n2(int 類型的指針變量,它也有自己的內(nèi)存地址)
int *n2 = &n1;
*n2 = 100;//因?yàn)橹羔樁际侵赶?n1的地址,所以這里修改后 n1 的值也會(huì)發(fā)生變化
cout<< "n1:"<< n1 << ",n2:" << n2<<endl;
cout<< "n1:"<< &n1 << ",n2:" << &n2<<endl;
return 0;
}
引用
/**
引用
*/
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
//在形參上加使用 & 表示 引用
void numberChange(int &a,int &b){
a = 3;
b = 4;
}
int main(){
//引用一
int a = 1;
int b = 2;
numberChange(a,b);
cout<< "a:" << a << ",b:"<< b << endl;
//引用二
int n1 = 99;
//作為變量出現(xiàn)也表示引用
int &n2 = n1;
n2 = 100;
cout<< "n1:"<< n1 << ",n2:" << n2 <<endl;
cout<< "n1:"<< &n1 << ",n2:" << &n2<<endl;
return 0;
}