C++中,&的作用

在C++中,&的作用取决于上下文。以下是一些基本规则来帮助判断&是作为取地址运算符还是作为引用符号:

1、作为取地址运算符:当&在一个已经存在的变量前面时,它是取地址运算符。例如:

int a = 10;
int* p = &a;  // &a 是取变量 a 的地址

2、作为引用符号:当&在类型声明中使用时,它表示引用。例如:

int a = 10;
int& ref = a;  // ref 是 a 的引用

3、在函数参数中:如果&在函数参数的类型声明中,那么它表示引用,这样函数可以修改传入参数的值。例如:

void foo(int& a) {  // a 是一个引用参数
    a = 20;
}

4、在函数调用中:如果&在函数调用时用于参数,那么它是取地址运算符。例如:

void foo(int* a) {  // a 是一个指针参数
    *a = 20;
}

int a = 10;
foo(&a);  // &a 是取变量 a 的地址

你可能感兴趣的:(c++,c++)