【问题标题】:C++ Update vector elements through iteratorC++ 通过迭代器更新向量元素
【发布时间】:2013-08-10 06:40:57
【问题描述】:

我正在实现就地合并排序,因此我需要在不创建新容器的情况下更新向量容器元素。我正在遍历容器,并且没有向量容器作为参数。我只是传递目标容器的迭代器。

我的问题是“如何仅通过该向量容器的迭代器更新或替换向量容器元素?”

以下是我的代码的一部分。

  template<typename T>
  void it_practice(T begin, T end) {

  for(T it = begin; it != end; ++it)
  {
        if (R_half[j] >= L_half[i])
        {
              *it = L_half[i];
              i++;
        }
        else
        {
              *it = R_half[j];
              j++;
        }
  }

【问题讨论】:

    标签: c++ pointers vector iterator


    【解决方案1】:

    *it 为您提供对相应元素的引用,并且可以分配该引用。迭代器的行为类似于指针,请记住这一点。

    【讨论】:

    • 对了,迭代器是用来引用的,那么如何通过引用访问原始的呢?取消引用仅用于检索值。
    • 哦,对了。我正在做我想做的事情。我忘了递归地划分容器。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    相关资源
    最近更新 更多