这样一个题目,鼓励自己!
学习了两天STL的基本语法(看了那本30分钟学会STL),对标准模版库有了一个广义上的认识。
STL向我们提供了三项功能:
仅仅学习了几个函数,放到这里。给自己做笔记。
for_each
template<class InputIterator, class Function>
Function for_each(InputIterator first, InputIterator last, Function f)
{
for ( ; first!=last; ++first ) f(*first);
return f;
}
find_if
template<class InputIterator, class Predicate>
InputIterator find_if ( InputIterator first, InputIterator last, Predicate pred )
{
for ( ; first!=last ; first++ ) if ( pred(*first) ) break;
return first;
}
用第三个函数(以前两个为参数)处理fist。
accumulate()
template <class InputIterator, class T>
T accumulate ( InputIterator first, InputIterator last, T init )
{
while ( first!=last )
init = init + *first++; // or: init=binary_op(init,*first++) for the binary_op version
return init;}
发生器函数对象
绑定器函数对象
int k=count_if(aList.begin(),aList.end(),bind2nd(greater<int>(),8));
bind1st 绑定函数第一个参数
bind2nd 绑定参数为第二个参数
副两个程序,简单看看(新手)http://115.com/file/c28h19w2
30分钟学会STL:http://115.com/file/anwgxcbc#