【问题标题】:C++ what is the difference of type * and type *& in function [duplicate]C ++函数中类型*和类型*&有什么区别[重复]
【发布时间】:2018-06-09 03:51:26
【问题描述】:

我在 C++ 中有两个函数签名

void printArray(int* arrayPtr);
void printArray(int*& arrayPtr);

我了解第一个功能。它说该函数接受一个 arrayPtr 参数,该参数的类型是指向整数的指针。

两个函数签名都有效,但我很难理解第二个签名(*&) 及其提供的好处?

【问题讨论】:

  • 问问自己,“如果我想让函数改变指针指向的地址怎么办?”
  • 从右到左阅读。它是对指针的引用。
  • 再想一想,我们可能需要备份一下。你熟悉 C++ 中的引用吗?

标签: c++ pointers


【解决方案1】:

这与typetype& 完全相同;第一个是值,第二个是参考。 type 是一个指针这一事实并没有改变这一点。

【讨论】:

  • 我无法想象对指针的引用没有现成的答案
  • 这是一个非常明确的答案。将& 放在任何类型的末尾都会产生非常一致的效果。
猜你喜欢
  • 2021-08-11
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多