【发布时间】:2019-02-23 06:57:32
【问题描述】:
在 C++ 中。当我们要定义一个指针变量时,语法是:
dataType* pointerVariable = &variableName;
这意味着pointerVariable是dataType-pointer类型,并且将variableName的地址存储在内存中。现在,当我们想要定义一个通过引用接受参数的函数时,语法是:
void functionName( dataType& argumentName );
而当我们要调用那个函数时,语法是:
functionaName( argumentName );
我的问题是,当我们想要定义一个通过引用接收参数的函数时,这意味着一个接收指针作为参数的函数,为什么我们不使用与定义指针相同的语法,像下面这样:
void functionName (dataType* argumentName);
然后,当我们要调用该函数时,语法是:
functionName(&argumentName);
为什么要修改新语法?
【问题讨论】:
-
不幸的是,C++ creator 用完了运算符,所以他重用了 & 用于通过引用传递。但是引用和指针不是一回事。
标签: c++ pointers pass-by-reference