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

做的比较漂亮的中国网站2d动画制作软件

做的比较漂亮的中国网站,2d动画制作软件,群辉wordpress端口,手机上做网站迭代器介绍 迭代器(iterator):容器类型内置的“指针” - 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字…

迭代器介绍

迭代器(iterator):容器类型内置的“指针”
- 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。
- 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字符)的迭代器- end:尾后迭代器,即尾元素的下一个位置(一个本不存在的元素) 

使用迭代器

auto b = v.begin(),e = v.end(); // b和e的类型相同

如果容器为空,则begin和end返回的是同一个迭代器,都是尾后迭代器

在这里插入图片描述
举个例子,下面利用迭代器实现

string s = "some string";
if(s.begin() != s.end()) { //确保s非空auto it = s.begin();  //it表示s的第一个字符*it = toupper(*it);   //将当前字符改成大写形式
}  //Some string

使用迭代器遍历容器

for(auto it = s.begin(); it != s.end() && !isspace(*it); ++it) {*it = toupper(*it);
}  // SOME string
  • 迭代器类型
vector<int>::iterator it;     //it能读写元素
vector<int>::const_iterator it2;//it2只能读元素,不可以写元素

如果vector或者string对象是一个常量,只能使用const_iterator;如果不是常量,则既能使用iterator也能使用const_iterator

  • 正序迭代
begin();end()   //iterator
cbegin();cend()  //const_iterator
  • 逆序迭代
rbegin();rend()  //reverse_iterator
int main() {vector<int> vec{0,1,2,3,4,5,6,7,8,9};vector<int>::reverse_iterator it;for (it = vec.rbegin();         // 迭代器指向最后一个元素it != vec.rend();          // rend() 指向第一个元素的前一个++it)					    // ++操作访问前一个元素cout << *it<< " ";    // prints 9,8,7,...0return 0;
}

迭代器解引用

vector<string> vec;
auto it = vec.begin();
(*it).empty()  //检查vector中的元素是否为空,只需检查it所指字符串是否为空
  • 箭头运算符(->)
it->mem & (*it).mem  表达的意思相同

WARNING

任何一种可能改变vector对象容量的操作,比如push_back,都会使该vector对象的迭代器失效。
但凡是使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。

迭代器运算

在这里插入图片描述
或者是两个迭代器相减,就可以得到中间隔了多少个元素。

使用迭代器运算的一个经典算法是二分搜索:

vector<int> text = {1,2,3,4,5};auto sought = 2;auto beg = text.begin(), end = text.end();auto mid = beg + (end - beg) / 2;   //初始状态的中间点while(mid != end && *mid != sought) {if(sought < *mid) end = mid;else beg = mid + 1;mid = beg + (end - beg) / 2;   //新的中间点}

循环过程终止时,mid或者等于end或者指向要找的元素。如果说mid等于end,说说明text中没有我们要找的元素。

http://www.yayakq.cn/news/733329/

相关文章:

  • 做电销哪些网站可以找到客户如何做网站拓扑结构图
  • 自助建站seo如何建立公司网站账号
  • 网站维护费进入哪个科目nginx建设网站教程
  • 便利的邯郸网站建设iis网站怎么做全站伪静态
  • 网站公司做的网站有最字设计专业哪个学校好
  • 网站 制作价格更加精准高效的措施
  • 门户网站做啥购买网站做网页游戏
  • 北京天津网站设计制作多少钱台州做网站优化
  • 对网站开发的理解500字织梦cms建设企业网站
  • 商丘网站制作方案seo流量工具
  • 网站代理浏览器7ui软件哪个最好用
  • 国外的网站服务商中文网站建设哪家好
  • 福建老区建设网站建一个网站的手机电脑版
  • 怎么成立个人网站网站建设合同印花税税率
  • 杭州网站设计精选柚v米科技杭州酒店网站设计公司推荐
  • 网站建设论文的研究方法wordpress主题hestia
  • 一级a做爰片免费视频网站wordpress 免费电商主题
  • 做 爱 网站视频在线做网站 自动生成手机版
  • 外贸网站建设需要注意事项西峰网
  • 宝塔搭建本地网站外贸工作上班一般都干嘛
  • 苏州网站建设工作室建站行业分析
  • 漯河网站优化网页制作工具可以发布网站吗
  • 情人节网页 wordpress十堰seo优化报价
  • 网页设计网站模板网站建设网页模板优秀的h5案例
  • 网站链接做二维码二级域名怎么解析
  • 信阳网站建设招聘北海网站开发
  • 彩票黑网站是怎么做的城阳网站制作
  • 深圳网站建设企业关键词seo公司推荐
  • dede网站模版腾达建设网站
  • 建设隔离变压器移动网站国际军事新闻在哪看