#include <iostream>
#include <algorithm>
#include <vector>
#include <assert.h>
//偏移
int main()
{
/************************************************************************/
//distance
/************************************************************************/
//distance找寻介于[first,last)之间的距离,即从first累加,直到last所需的次数
/*
template<class InputIterator>
typename iterator_traits<InputIterator>::difference_type distance(
InputIterator _First,
InputIterator _Last
);
*/
std::vector<int> iv(5);
size_t dis = std::distance(iv.begin(),iv.end());
assert(dis == iv.size());
/************************************************************************/
//advance
/************************************************************************/
//advance(i,n);将iterator i累加n次
//如果n>0,等价于++i循环了n次;
//如果n<0,等价于--i循环了n次;
//如果n==0,不执行/无效;
/*
template<class InputIterator, class Distance>
void advance(
InputIterator& _InIt,
Distance _Off
);
*/
std::vector<int>::iterator it = iv.begin();
std::advance(it, 5);
assert(it == iv.end());
return 0;
}
====================打个广告,欢迎关注====================
QQ: | 412425870 |
csdn博客: | http://blog.youkuaiyun.com/caychen |
码云: | https://gitee.com/caychen/ |
github: | https://github.com/caychen |
点击群号或者扫描二维码即可加入QQ群: | ![]() |
![]() |