【问题标题】:Passing a pointer by reference? [duplicate]通过引用传递指针? [复制]
【发布时间】:2012-05-25 13:43:45
【问题描述】:

可能重复:
passing a pointer by reference in c++

我有一个函数需要修改指针,例如:

bool someFunc(Something* something)
{
   something = somethingElse;
   return true;
}

指针是按值传递的,不会被修改。如何修改?

谢谢

【问题讨论】:

  • 你的问题标题暗示你已经知道答案...
  • 您的声誉意味着您应该已经知道答案。或者至少是找出答案的方法。
  • 但是像其他参考一样尝试不是很合乎逻辑吗?此外,您可以向后工作并适合代码:引用& 到指针* 到Something Something。记住这些东西从右到左,表达式变为Something * &
  • @ChrisA。这种声誉几乎完全来自问题,而不是答案。如果你问我,这是一个了不起的壮举。
  • @DavidRodríguez-dribeas 但你当然有办法找出这么简单的东西。

标签: c++


【解决方案1】:

只需将函数签名更改为如下所示

bool someFunc(Something* &something)

您将在someFunc() 中获得一个可修改的指针。

【讨论】:

    【解决方案2】:
    bool someFunc(Something * &something)
    

    【讨论】:

      【解决方案3】:
      bool someFunc ( Something * & something ); 
                               // ^ notice the reference symbol
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-07
        • 2016-08-26
        • 2014-07-27
        • 2023-03-03
        • 2014-10-12
        • 1970-01-01
        • 2022-01-16
        相关资源
        最近更新 更多