【STL】迭代器

本文介绍了STL中的迭代器,它是一种类似指针的设计模式,用于访问容器中的对象而不暴露其内部结构。迭代器有五种内嵌类型:value type、difference type、reference type、pointer type和iterator category。value type表示对象类型,difference type用于表示两个迭代器间的距离,reference type是对象的引用,pointer type是对象的地址,iterator category则定义了迭代器的分类,包括输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器等。
摘要由CSDN通过智能技术生成

什么是迭代器

迭代器是STL中行为类似指针的设计模式,它可以提供了一种对容器中的对象的访问方法;并且它没有暴露容器中内部的表述方式。
例如STL中的map和set,它们的底层是一颗红黑树(一种平衡树):

private:
  typedef rb_tree<key_type, value_type, 
                  select1st<value_type>, key_compare, Alloc> rep_type;
  rep_type t;  // red-black tree representing map

而当你用迭代器去对他们进行访问时:

    map<string, size_t> mp;
    mp["a"]++;
    mp["a"]++;
    mp["b"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值