【问题标题】:modifying vector at same iterator在同一个迭代器中修改向量
【发布时间】:2012-08-19 10:34:38
【问题描述】:

假设我有以下向量:

std::vector<std::pair <int, bool> > myV;
std::vector<std::pair <int, bool> >::iterator it;

然后我将它们初始化为 10 行:

 for (i = 0 ; i < 10; i++){
           if (i % 2 == 0 )
                j = true;
            else 
                j = false
           myV.push_back(std::make_pair(i,j));
  } //end of for

现在,我需要在节点 5 或每个节点处修改我的向量,一种方法是:我从中获取备份,然后 erase 它,然后 push_back,但出于特定原因,我需要保持我的vector 的顺序,你知道吗?

【问题讨论】:

  • cevtor 到底是什么意思?

标签: c++ oop iterator std-pair push-back


【解决方案1】:

向量提供随机访问;您可以简单地重新分配元素:

myV[5] = std::make_pair(42, true);
*it = std::make_pair(35, false);

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 1970-01-01
    • 2016-09-20
    • 2012-11-19
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多