C++通过迭代器更新矢量元素

C++ Update vector elements through iterator

本文关键字:元素 更新 迭代器 C++      更新时间:2023-10-16

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

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

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

  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++;
        }
  }

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