小编Cra*_*zor的帖子

在上次插入开始时输入插入模式

我正在寻找与gi normal mode命令相反的东西:我想在最后一次插入的开始而不是在结尾处进入插入模式.我可能在文档中遗漏了一些内容,但我甚至找不到要跳转的标记,否则我会自己创建映射.

vim

2
推荐指数
1
解决办法
39
查看次数

如何在运行时选择迭代器方向

我想选择在运行时迭代容器的方向,如下面的示例代码所示:

#include <iostream>
#include <vector>

void iterate(bool forward, std::vector<int> v) {
  auto start = v.begin();
  auto end = v.end();
  if (!forward) {
    start = v.rbegin(); // this doesn't
    end = v.rend();     // work
  }

  for (auto it = start; it != end; ++it) {
    std::cout << *it << " -> " << *std::next(it) << std::endl;
  }
  std::cout << std::endl;
}

int main() {
  std::vector<int> v{1, 2, 3, 4, 5};
  iterate(true, v);
  iterate(false, v);
}
Run Code Online (Sandbox Code Playgroud)

如何在运行时更改迭代器方向,而不复制 for 循环?

想象一下循环是一个相当复杂的算法,您不想复制它以避免未来的维护问题。请注意,我需要访问循环体中的 std::next/std::previous 元素。

c++ iterator

1
推荐指数
1
解决办法
84
查看次数

标签 统计

c++ ×1

iterator ×1

vim ×1