首页 > 代码库 > 前闭后开区间
前闭后开区间
任何一个STL算法,都需要获得由一对迭代器(泛型指针)所标识的区间,用以表示操作范围。这一对迭代器所标示的是个所谓的前闭后开区间,以[first,last)表示。也就是说,整个实际范围从first开始,知道last-1。迭代器last所指的是“最后一个元素的下一位置”。这种偏移一格的标示法,带来了许多方便,例如下面两个STL算法的循环设计,就显得干净利落:
1 template <class InputIterator,classT> 2 3 InputIterator find(InputIterator first,InputIterator last,const T& value) 4 5 { 6 7 while(first != last && *first != value) 8 9 ++first;10 11 returnfirst;12 13 }14 15 16 17 template <class InputIterator,class Function>18 19 Function for_each(InputIterator first,InputIterator last,Function f)20 21 {22 23 for(;first != last;++first)24 25 f(*first);26 27 returnf;28 29 }
前闭后开区间
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。