一、什么是“迭代器和指针类似”?
在 STL 容器中,**迭代器(iterator)**本质上就是一个 行为类似指针 的对象。
常见操作对比:
功能 | 指针 | 迭代器 |
---|---|---|
指向元素 | int* p = arr; |
vector<int>::iterator it = v.begin(); |
访问值 | *p |
*it |
移动位置 | ++p , p += n |
++it , it += n (随机访问迭代器) |
比较位置 | p == q , p < q |
it == jt , it < jt (仅部分容器) |
示例代码对比
// 原始数组 + 指针