std::vector<int> aaa(10, 10); std::vector<int>::iterator *it = &(aaa.begin()); std::cout << **it << std::endl;
时间: 2024-01-20 22:02:26 浏览: 85
std::vector排序详解
4星 · 用户满意度95%
这段代码也可以编译通过,并且可以输出 `aaa` 的第一个元素。但是建议直接使用迭代器,不需要创建指向迭代器的指针,并且通过指向迭代器的指针来访问元素比较麻烦。
以下是修改后的代码示例:
```
#include <iostream>
#include <vector>
using namespace std;
int main()
{
std::vector<int> aaa(10, 10);
std::vector<int>::iterator it = aaa.begin();
std::cout << *it << std::endl;
return 0;
}
```
在这个例子中,我们创建了一个包含10个值为10的元素的 `std::vector<int>` 对象 `aaa`。然后,我们使用 `aaa.begin()` 获取 `aaa` 的迭代器,并将其赋值给 `it`。最后,我们输出 `it` 所指向的元素,即 `aaa` 的第一个元素。
需要注意的是,`*it` 表示迭代器所指向的元素,而 `**it` 则表示迭代器指向的地址所存储的值,这在指向指针的指针时使用比较常见。但是,对于 `std::vector` 对象的迭代器来说,直接使用 `*it` 即可访问元素。
阅读全文