C++ 当我们通过引用传递时,为什么我们在调用函数时放置变量而不是地址(指针)? void ChangeValueByReference(int&x) { x=0; } int main() { INTA=1; 通过引用更改值(a); cout

C++ 当我们通过引用传递时,为什么我们在调用函数时放置变量而不是地址(指针)? void ChangeValueByReference(int&x) { x=0; } int main() { INTA=1; 通过引用更改值(a); cout,c++,pointers,pass-by-reference,C++,Pointers,Pass By Reference,这是因为当在不同的地方(声明/声明)使用时,符号AND有两种不同的含义 此处&用作“引用”修饰符 void MyFn(Type & a); 此处&用作“获取”运算符的指针。请注意,如果您有类型为type的变量a,&a返回类型*(指向类型的指针) 当您将变量传递给函数时,编译器会自动获取对该变量的引用。因此,您只需调用: Type * pA = &a; 编译器会知道,它必须获得对某个变量的引用。这是因为当在不同的位置(声明/语句)使用时,与有两种不同的含义 此处&用作“引用”修

这是因为当在不同的地方(声明/声明)使用时,符号AND有两种不同的含义

此处&用作“引用”修饰符

void MyFn(Type & a);
此处&用作“获取”运算符的指针。请注意,如果您有类型为
type
的变量
a
&a
返回
类型*
(指向
类型的指针)

当您将变量传递给函数时,编译器会自动获取对该变量的引用。因此,您只需调用:

Type * pA = &a;

编译器会知道,它必须获得对某个变量的引用。

这是因为当在不同的位置(声明/语句)使用时,与有两种不同的含义

此处&用作“引用”修饰符

void MyFn(Type & a);
此处&用作“获取”运算符的指针。请注意,如果您有类型为
type
的变量
a
&a
返回
类型*
(指向
类型的指针)

当您将变量传递给函数时,编译器会自动获取对该变量的引用。因此,您只需调用:

Type * pA = &a;

编译器会知道,它必须获得对某个变量的引用。

这是因为当在不同的位置(声明/语句)使用时,与有两种不同的含义

此处&用作“引用”修饰符

void MyFn(Type & a);
此处&用作“获取”运算符的指针。请注意,如果您有类型为
type
的变量
a
&a
返回
类型*
(指向
类型的指针)

当您将变量传递给函数时,编译器会自动获取对该变量的引用。因此,您只需调用:

Type * pA = &a;

编译器会知道,它必须得到对某个变量的引用。

我们没有说要传递一个指针。我们说要传递一个引用。对变量的引用在内部可以像指针一样处理,但它不是指针。指针可以是0,而不是引用。

我们没有说要传递一个指针。我们说我们将提供一个引用。对变量的引用在内部可能像指针一样处理,但它不是指针。指针可以是0-引用不是。

我们没有说我们将传递指针。我们说我们将提供一个引用。对变量的引用在内部可能像指针一样处理,但它不是指针指针可以是0,而不是引用。

“get A pointer of”运算符通常称为“address运算符”,或“get A pointer of”运算符通常称为“address运算符”,或“get A pointer of”运算符通常称为“address运算符”或