码迷,mamicode.com
首页 > 其他好文 > 详细

前闭后开区间表示法

时间:2014-06-21 21:20:27      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:仿函数   算法   find   for_each   前闭后开   



任何一个STL算法,都需要获得由一对迭代器(泛型指针)所标识的区间,用以表示操作范围。这一对迭代器所标示的是个所谓的前闭后开区间,以[first,last)表示。也就是说,整个实际范围从first开始,知道last-1。迭代器last所指的是“最后一个元素的下一位置”。这种偏移一格的标示法,带来了许多方便,例如下面两个STL算法的循环设计,就显得干净利落:

template <class InputIterator,classT>

InputIterator find(InputIteratorfirst,InputIterator last,const T& value)

{

       while(first != last && *first != value)

              ++first;

       returnfirst;

}

 

template <class InputIterator,classFunction>

Function for_each(InputIteratorfirst,InputIterator last,Function f)

{

       for(;first != last;++first)

              f(*first);

       returnf;

}

前闭后开区间表示法,布布扣,bubuko.com

前闭后开区间表示法

标签:仿函数   算法   find   for_each   前闭后开   

原文地址:http://blog.csdn.net/fayery/article/details/32198433

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!