【问题标题】:Does std::vector size()-1 ALWAYS give the index of the last element?std::vector size()-1 是否总是给出最后一个元素的索引?
【发布时间】:2014-07-24 09:52:05
【问题描述】:

假设我有一个名为myVecstd::vector

我不知道它会达到的确切大小,所以我只使用myVec.push_back(...)

我可以相信在我 push_back 之后,size()-1 会给我最后一个元素的索引吗? 谢谢。

【问题讨论】:

  • 是的,iff你使用了push_back
  • 这就是为什么为了安全使用迭代器,而不是使用索引来访问向量中的元素。

标签: c++ vector stl indexing push-back


【解决方案1】:

对于非空向量是的,size()-1 是最后一个元素的索引。

【讨论】:

    【解决方案2】:

    您有两个不同的问题。在你问的标题中:

    std::vector size()-1 是否总是给出最后一个元素的索引?

    没有。如果向量为空,它不会给出最后一个元素的索引。

    我可以相信在 push_back 之后,size()-1 会给我最后一个元素的索引吗?

    是的,如果向量不为空,那么size() - 1保证是最后一个元素的索引。

    【讨论】:

    • 是的,感谢您指出这一点...我的意思是仅在非空向量和 push_backs 之后,但我可以看到这个问题可能会产生误导。
    猜你喜欢
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2016-02-12
    • 2013-10-29
    • 1970-01-01
    相关资源
    最近更新 更多