C++引用

作者: 不决书 | 来源:发表于2023-02-27 10:11 被阅读0次
  int a = 5;
 // 定义一个指针指向a 的内存地址
 int* prt = &a;
// 定义一个引用,类似于别名
 int& ref = a;
// 此时a的值也是2
ref = 2;

// 1. 如果直接调用以下函数,就相当于,这个函数定义一个新的变量,申请新的内存,把复制为5
void increment(int value){
    value++;
}
increment(a);


// 2. 我们需要传递int类型变量的地址
void increment(int* value){
    (*value)++;
}
increment(&a);

// 3. 我们需要变量本身,这里只是创建一个引用,
// 编译中,内部操作同 实例2 一样,但这样使用起来更加方便
void increment(int& value){
    value++;
}
increment(a);

// 引用的定义必须初始化
int& ref;    // 这里会报错,没有初始化
ref = 8;

// example 1
int a = 5;
int b = 8;
int& ref = a;
ref = b;
// 最后的结果就是 a = 8  b=8

// example 2

int a = 5;
int b = 8;
int* ref = &a;
*ref = 2;
ref = &b;
*ref = 1;
// 最后的结果是 a=2  b=1;


*符号是取值
&符号是取地址

int* 是一个地址
int& 是一个引用

ref:
(C++中int *a; int &a; int & *a; int * &a)[http://t.csdn.cn/FfLAs]

相关文章

网友评论

      本文标题:C++引用

      本文链接:https://www.haomeiwen.com/subject/ohehldtx.html