当前位置: 首页 > news >正文

长沙营销型网站建设费用如何建立网址

长沙营销型网站建设费用,如何建立网址,新手怎么学做网站,网站开发验收规范迭代器是一种检查容器内元素并且遍历容器内元素的数据类型。它提供对一个容器中的对象的访问方法&#xff0c;并且定义了容器中对象的范围。一、vector容器的iterator类型vector容器的迭代器属于随机访问迭代器&#xff0c;一次可以移动多个位置。vector<int>::iterator …

迭代器是一种检查容器内元素并且遍历容器内元素的数据类型。它提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。

一、vector容器的iterator类型

vector容器的迭代器属于随机访问迭代器,一次可以移动多个位置。

vector<int>::iterator iter;//变量名为iter

成员函数

功能

begin()

返回指向容器中第一个元素的正向迭代器,若是const类型容器,在该函数返回的是常量正向迭代器。

end()

返回指向容器最后一个元素之后一个位置的正向迭代器;如果是const类型容器,在该函数返回的是常量正向迭代器。此函数通常和begin()搭配使用。

rbegin()

返回指向最后一个元素的反向迭代器;如果是const类型,在该函数返回的是常量反向迭代器。

rend

返回指向容器第一个元素之后一个位置的反向迭代器;如果是const类型容器,在该函数返回的是常量正向迭代器。此函数通常和rbegin()搭配使用。

cbegin()

和begin()功能类似,其返回的迭代器类型为常量正向迭代器,不能修改元素。

cend

和end()功能类似,其返回的迭代器类型为常量正向迭代器,不能修改元素。

crbegin()

和rbegin()功能类似,其返回的迭代器类型为常量反向迭代器,不能修改元素。。

crend

和rend()功能类似,其返回的迭代器类型为常量反向迭代器,不能修改元素

#include<iostream>
#include<vector>
using namespace std;
int main()
{int arr[]={0,1,2,3,4};vector<int> vecInt;vecInt.assign(arr,arr+5);vector<int>::iterator t;vector<int>::reverse_iterator t1;
//1、    t=vecInt.begin();for(;t<vecInt.end();t++){cout<<*t<<" ";} cout<<endl;
//    输出:0,1,2,3,4 //2、 t=vecInt.end();t--; for(;t>=vecInt.begin();t--){cout<<*t<<" ";} cout<<endl;
//    输出:4,3,2,1,0 //3、t1=vecInt.rbegin();for(;t1<vecInt.rend();t1++){cout<<*t1<<" ";} cout<<endl;
//    输出:4,3,2,1,0 //4、 t1=vecInt.rend();t1--;for(;t1>=vecInt.rbegin();t1--){cout<<*t1<<" ";} cout<<endl;
//    输出:0, 1, 2, 3, 4return 0;
} 

二、迭代器失效

  1. 插入元素后导致失效

#include<iostream>
#include<vector>
using namespace std;
int main()
{vector<int> vecInt1;vecInt1.push_back(0);vecInt1.push_back(1);vecInt1.push_back(2);vecInt1.push_back(3);vecInt1.push_back(4);vector<int>::iterator t;t=vecInt1.begin()+2;vecInt1.insert(t,5);cout<<*t<<endl;
//    本来应该指向2,插入后指向5 return 0; 
}
  1. 序列使容器删除元素失效

错误示范:

#include<iostream>
#include<vector>
using namespace std;
int main()
{vector<int> vecInt1;vecInt1.push_back(0);vecInt1.push_back(1);vecInt1.push_back(1);vecInt1.push_back(1);vecInt1.push_back(4);vector<int>::iterator t;t=vecInt1.begin();for(;t<vecInt1.end();t++){if(*t==1){vecInt1.erase(t);}         } t=vecInt1.begin();for(;t<vecInt1.end();t++){cout<<*t<<" ";} cout<<endl;//    输出为0,1,4,没有删除干净1 return 0; 
}

由于删除后下一个元素会移到被删除的元素,如果此时指针仍自加1,导致该元素被忽略

解决办法:

#include<iostream>
#include<vector>
using namespace std;
int main()
{vector<int> vecInt1;vecInt1.push_back(0);vecInt1.push_back(1);vecInt1.push_back(1);vecInt1.push_back(1);vecInt1.push_back(4);vector<int>::iterator t;t=vecInt1.begin();for(;t<vecInt1.end();){if(*t==1){vecInt1.erase(t);} else{t++;}        } t=vecInt1.begin();for(;t<vecInt1.end();t++){cout<<*t<<" ";} cout<<endl;//    输出为0,4return 0; 
}

http://www.dt0577.cn/news/47117.html

相关文章:

  • WordPress部署商城爱站网seo查询
  • 四博网站备案爱站网关键词搜索工具
  • 网站上不去的原因免费网站的平台
  • 惠阳区城市建设规划局网站网推怎么做
  • 最专业的网站建设价格免费推广途径与原因
  • 国内企业手机网站建设关注公众号推广2元一个
  • 赚钱网站在线进入网店培训骗局
  • wordpress支持系统seo查询排名软件
  • 高校校园网站建设培训班站长网站查询
  • 看网站是不是WP做的哪里有竞价推广托管
  • 关于我们网站模板seo公司排行
  • 益阳网络公司站长工具seo综合查询引流
  • 江苏电信网站备案seo培训一对一
  • 网站建设 温州google高级搜索
  • wordpress填错地址网络搜索引擎优化
  • 可以做网站首页的图片素材南宁求介绍seo软件
  • 怎样开通网站成都网站建设
  • 怎么建立网站赚钱百度贴吧官网首页
  • 城乡建设委员会门户网站东莞网站制作公司
  • 网站开发肇庆培训seo tdk
  • 个人做网站用什么技术微信营销的案例
  • 推荐网站空间购买页面设计
  • 连云港百度推广总代理太原seo哪家好
  • 菠菜网站建设条件杭州seook优屏网络
  • web网站设计要怎么做网站收录怎么弄
  • 做音乐网站需要什么太原seo自媒体
  • 微信网站什么做的青岛百度代理公司
  • wordpress上传权限设置密码石家庄网站seo
  • 网站创建想法正规网络教育培训机构
  • 网站开发视频转码精准营销推广