【问题标题】:Keep address of inserted element in vector (c++)保持向量中插入元素的地址(c ++)
【发布时间】:2017-11-01 02:44:05
【问题描述】:

假设我在多个对象之间共享vectorint

vector <int> list;

每个对象都可以添加更多元素:

list.push_back(someint);

我希望这些对象能够删除它们放入其中的元素,但由于其他对象动作,我无法知道位置。 此外,如果我保留元素地址,它将只对应于列表中会改变的位置,所以我不知道。 有可能吗?

【问题讨论】:

    标签: c++ vector


    【解决方案1】:

    所以你有一个std::vector 并且你添加了一个元素。然后你擦除并添加一个或多个其他元素,最后你需要擦除原始元素?

    std::vector 不太适合。为什么不改用std::list?使用std::list,您可以insert 一个元素,并将获得一个指向新插入元素的迭代器。与 std::vector 不同,std::list 迭代器将保持有效,即使稍后添加或删除其他元素。

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      相关资源
      最近更新 更多