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	",p);
    add(p);
    printf("增加后地址%d",p);
    return 0;
}
指针型变量的值的自增运算
void add(int *&t){
    ++(*t);
}
int main(){
    int a=10;
    int *p=&a;
    printf("%d	",*p);
    add(p);
    printf("%d",*p);
    return 0;
}
原文地址:https://www.cnblogs.com/szj666/p/13095403.html