关于STL的迭代器

进公司了之后接了一个服务器的半成品,要求进行改造之后使用,大致的看了一下代码,发现其中大量的使用了迭代器iterator,以前在使用MFC的时候接触过Position的用法,现在已经记得不是很清楚了,而iterator的使用还是第一回接触到,于是上网搜索了一下,刚好发现在csdn上面有相关的文章,就大致的看了一下,很好,大致的了解了iterator的用法



#include <iostream>
#include <string>
#include <list>


using namespace std;


int main (int argc, char *argv[]){
list<string> MyFriends;
list<string>::iterator MyFriendsCallHisName;
#
  MyFriends.push_back("虫虫");
  MyFriends.push_back("酱油皇");
  MyFriends.push_front("张无忌");
  MyFriends.push_front("西墙");
 #
  // print the MyFriends
  for (MyFriendsCallHisName=MyFriends.begin();
MyFriendsCallHisName!=MyFriends.end();
 ++MyFriendsCallHisName) {
// dereference the iterator to get the element
cout << *MyFriendsCallHisName << endl;
  }
  system("pause");
  
  return 0;
}

这是那位作者的代码,大致的看了一下,自己总结了一下,iterator这个东西类似于指针,都是在循环的时候进行使用的,和传统的方式不同不同的只是在++MyFriendsCallHisName;这句话,为了访问到最后一个变量,所以方式和传统的程序有所不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值