【问题标题】:How can I return reference to element in array in this case?在这种情况下,如何返回对数组中元素的引用?
【发布时间】:2018-11-13 23:48:50
【问题描述】:

给定指针数组,如果我想编写一个函数来移动所有数组并检查是否存在具有特定键的元素(例如),如果是,我想准确返回 array[i] 以便我将可以在调用该函数后再次初始化这个ceil,例如:

func(array,size,key) = 3 --> array[i_key]=3(这是一个简单的例子,不是我上面写的指针,用于解释我想要什么)。

但是,如果数组中不存在键,那么我需要返回 null(至少,我认为是这样)。但是当我返回参考时我不能这样做。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 在这里查看关于可选参考的讨论:stackoverflow.com/questions/26858034/…。一般来说,建议在像您这样的情况下使用指针。
  • 为什么不返回指针?如果这不能解决你的问题,我建议你举一个真实的例子。
  • @Beta 这并不能解决我的问题,因为存在这样的情况,然后我需要将这个元素存在于其他元素的 ceil 更改为其他元素(例如)。
  • @AskMath 不明白。你可以用指针不能做的引用做什么?你可以举个例子。
  • 如果引用为您完成了这项工作,那么指针也可以。引用,如果用作函数参数或返回值,无非是某种特殊的指针,具有不同的语法和一些限制......

标签: c++ arrays c++11 reference


【解决方案1】:

在你的情况下,指针是要走的路。

如果找到该元素,则返回一个指向该元素的指针。

否则,返回一个空指针。

这很常见,也很自然。

【讨论】:

  • 如果您需要更改找到@AskMath 的元素,您可以通过指针来实现。这是你的问题吗?
猜你喜欢
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 2014-03-21
  • 2014-02-18
  • 2018-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多