我有一个二维 vector ,它是一个类成员。
std::vector<std::vector<int>> myvec;
无论如何我可以有一个迭代器作为公共(public)类成员迭代整个行和列吗?然后我可以用它从 vector 中获取元素。
如果 vector 有 3 行和 4 列,我可以使用此 iterator+5
访问 myvec[1][1]
的第 5 个元素?
此外,这是否类似于 C# 中 IEnumerable
中的 GetEnumerator()
?
谢谢
最佳答案
与 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;
}
关于c++ - 二维 vector 类成员的迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51762137/