c/C++語言引用類型


int x=1;
int *y=&x; //指針傳遞,y是一個指針,指向x的地址,*y可以獲取x的值
int &z=x; //引用傳遞,可以理解為z就是x,z相當於是x的別名,當函數的參數在函數內部需要改變時,就需要用引用類型。

如果理解不了為什么用引用類型。舉個栗子。

定義了一個人,名字叫小王。
然后寫一個函數用於改變他的名字,如果不加&的話,就是直接將小王這個人復制了一份,改變的是復制的這份小王的名字,並不是我們一開始定義的那個小王。
引用類型在參數前加&,則是拿過的小王然后給參數,參數指的就是小王,當我們改變參數值時,小王的值也就改變了

代碼實例

普通變量的引用類型做自增運算
void add(int &x){
      ++x;
}

int number=1;
add(number);
指針型變量的地址的自增運算
void add(int *&t){
    ++t;
}
int main(){
    int a=10;
    int *p=&a;
    printf("初始地址%d\t",p);
    add(p);
    printf("增加后地址%d",p);
    return 0;
}
指針型變量的值的自增運算
void add(int *&t){
    ++(*t);
}
int main(){
    int a=10;
    int *p=&a;
    printf("%d\t",*p);
    add(p);
    printf("%d",*p);
    return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM