前闭后开区间

任何一个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 }

 

转载于:https://www.cnblogs.com/zenseven/p/4178179.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值