您的位置:首页 > 其它

前闭后开区间表示法

2016-01-18 16:17 141 查看


不论什么一个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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: