0

我有一个 2d 向量,它是一个类成员。

std::vector<std::vector<int>> myvec;

无论如何,我可以有一个迭代器作为公共类成员迭代整个行和列吗?然后我可以用它从向量中获取元素。

就像如果向量有 3 行和 4 列,我可以myvec[1][1]使用这个来访问 5 个元素iterator+5

而且,这在某种程度上类似于C# 中的 in 吗GetEnumerator()IEnumerable谢谢

4

1 回答 1

4

使用Range-v3,您可以执行以下操作:

std::vector<std::vector<int>> v{{1, 2, 3}, {4, 5}, {6, 7, 8, 9}};

for (auto e : ranges::view::join(v)) {
    std::cout << e << std::endl;
}

演示

于 2018-08-09T08:49:02.060 回答