How to pass a pointer variable as a reference parameter?
关于这个问题我还有一个问题。
问题中的回答者使用int*&
作为参数数据类型,但我不明白指针和引用数据类型的顺序。
在我看来,int&*
对我来说看起来更实用,所以我尝试用它来编译,但这是不允许的。
我想清楚地理解这个逻辑。
我认为 int*& a
就像 int*(int& a)
一样,所以它就像一个引用的指针,但显然,它恰恰相反。
为什么不能使用int&*
作为指针引用的含义?
最佳答案
C++ 类型以名称为中心。 int*&foo
是你应该这样想的。
首先,我们有 &foo
—— foo
是一个引用。引用什么? *&foo
-- 一个指针。指向什么的指针? int*&foo
一个整数。
原始的 C 类型规则甚至旨在“演示如何使用它们”。因此 int *foo
是 int = *foo
有效表达式的简写,或者 *foo
生成一个 int
。 &
并不完全是这样工作的。
关于c++ - 指针引用类型的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55317871/