C++ Primer注解 - 迭代器(iterator)

迭代器

除了vector之外,还有好几种容器
但是只有string和vector常用下标访问
引入了用来代替下标访问 - 迭代器访问

string不属于容器,但是也可以使用迭代器

指针:取地址 ,指向地址
迭代器:返回成员 ,指向数据

begin运算符和end运算符

begin成员:负责返回首元素 迭代器
end成员:负责返回尾位置的下一位置元素 迭代器
如果容器为空,则begin和end返回的迭代器,都是尾后迭代器

注意点:begin()和end()返回的一定是个迭代器,要进行后续操作需要用一个迭代器变量把当前迭代器保留下来,再进行迭代器运算
C++ Primer注解 - 迭代器(iterator)_第1张图片

#include
#include
#include
using namespace std;
int main()
{    int array[]={10,20,30,40,50};
    int* pointer = array; //= &array[0]
    vector A={10,20,30,40,50};
 
    cout<<"*pointer="<<*pointer<C++ Primer注解 - 迭代器(iterator)_第2张图片

迭代器指向下一元素经典错误:
// cout<<"vectoer second number ="<<*(iter++); 错误写法
必须是++iter !!!
#include
#include
#include
using namespace std;
int main()
{    
    vector A={10,20,30,40,50};
    auto iter = A.begin(); 
    cout<<"vector first number="<<*iter<

你可能感兴趣的:(iterator,c++)