vector<int>::iterator mid=(vi.begin()+vi.end())/2
来源:互联网 发布:骁龙410玩王者荣耀优化 编辑:程序博客网 时间:2024/05/23 12:01
C++ Primer第四版 P88
如果采用下面的计算方法来计算mid会产生什么结果?
正确方法:
//用迭代器算术操作,初始化mid,使其指向vi中最靠近正中间的元素vector<int>::iterator mid=vi.begin()+vi.size()/2;
错误方法:
//如采用下面的方法来计算midvector<int>::iterator mid=(vi.begin()+vi.end())/2//将两个迭代器相加的操作是未定义的,因此用这种方法计算mid会出现编译错误vi.begin()与vi.end()返回的是迭代器。vi.size()返回的是元素个数。
迭代器的算法操作:
iter + n //产生一个新的迭代器iter - n //产生一个新的迭代器iter1 - iter2 //计算2个迭代器的距离
- vector<int>::iterator mid=(vi.begin()+vi.end())/2
- vector 中[begin, end)
- vector<int>::iterator it
- vector迭代器的begin()和end()
- c++ vector begin(),end(),rbegin(),rend()问题
- c++ vector begin(),end(),rbegin(),rend()问题
- vector之begin(),end(),front(),back()
- c++ vector begin(),end(),rbegin(),rend()问题
- Be careful to use iterator - vector.begin()
- vector<int>与vector<int>::iterator
- VI
- vi
- vi
- vi
- vi
- vi
- VI
- vi
- 《E-Commerce Recommendation Applications》笔记
- 智能指针auto_ptr 简介
- jsonobject 遍历 org.json.JSONObject
- php中include和require的区别
- php 5.3.x 使用 rrdcached 1.4.x
- vector<int>::iterator mid=(vi.begin()+vi.end())/2
- 章文嵩:服务器定制与绿色计算
- C++中赋值运算符默认的返回值类型
- linux-Tcp IP协议栈源码阅读笔记
- xml解析
- mysql的触发器
- Source Insight 打不开问题
- Rails Rake 指南
- 在打开rc文件夹时出现“在另一个编辑器中打开”