知道二维vector中元素的迭代器怎么知道元素的索引
时间: 2024-05-01 10:18:59 浏览: 17
在二维vector中,元素的迭代器是一个指向vector的指针,可以通过解引用操作符(`*`)获取该元素的值。如果需要知道该元素在vector中的索引,可以使用`std::distance`函数计算该迭代器与vector起始迭代器之间的距离,即可得到该元素在vector中的索引。
以下是一个示例代码,展示了如何使用迭代器获取二维vector中元素的值和索引:
```cpp
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
int main() {
std::vector<std::vector<int>> vec2d {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 迭代器遍历二维vector
for (auto it1 = vec2d.begin(); it1 != vec2d.end(); ++it1) {
for (auto it2 = it1->begin(); it2 != it1->end(); ++it2) {
int value = *it2;
int index1 = std::distance(vec2d.begin(), it1);
int index2 = std::distance(it1->begin(), it2);
std::cout << "vec2d[" << index1 << "][" << index2 << "] = " << value << std::endl;
}
}
return 0;
}
```
输出结果如下:
```
vec2d[0][0] = 1
vec2d[0][1] = 2
vec2d[0][2] = 3
vec2d[1][0] = 4
vec2d[1][1] = 5
vec2d[1][2] = 6
vec2d[2][0] = 7
vec2d[2][1] = 8
vec2d[2][2] = 9
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)