【问题标题】:Is there other syntax for this pointer operation?这个指针操作还有其他语法吗?
【发布时间】:2013-03-29 13:01:29
【问题描述】:

这是一个非常基本的问题,但我不知道如何用谷歌搜索它。

我有一个指向向量(或指针数组)的指针,比如说

vector<int *> *p;

除了

之外,有没有其他的语法来索引这个数组
(*p)[i];

类似于 -> 运算符?

【问题讨论】:

  • 为什么一开始会有一个指向向量的指针
  • 您可能不应该对这两种类型使用指针。你为什么不使用std::vector&lt;int&gt; p

标签: c++ syntax


【解决方案1】:

p-&gt;at(i) 类似,但如果i 超出范围,则会进行边界检查并抛出异常。看起来比您和 Luchian 的解决方案 (IMO) 都好,而且更安全。

【讨论】:

  • 即各方面都比较好~
  • @CatPlusPlus 值得商榷。 at 非常棒,如果性能不是最低限度的事情,但如果我正在开发一个需要我能获得的所有速度的游戏,那么每次迭代检查边界可能不是最好的事情做。
  • 如果你有指向整数指针向量的指针,你可能并不关心性能。
  • 谢谢。我将开始使用它,除了可能在某处的某些内部循环中。
  • @RichardJ.RossIII 请再次告诉我现在游戏是如何受 CPU 限制的。
【解决方案2】:

是的 -

p->operator[](i);

但如果你问我也不是更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 2018-11-08
    • 1970-01-01
    • 2023-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    相关资源
    最近更新 更多