侯捷C++STL体系结构与源码剖析:标准库的算法实例
accumulate函数:第一个版本是累加,第二个版本是累计某个操作。()叫做function call operator,函数调用操作符,我们要传进去能调用()的东西。可被调用的东西,包括一般的函数myfunc,或者function object函数对象,它是一个类或者结构体,并重载小括号()所产生的对象。其实函数对象就是仿函数。
for_each:一个区间里,对每一个元素做一件事情。
replace,replace_if,replace_copy:元素如果等于旧值那么就被取代为新值;if就代表传一个条件,Predicate是判断式,会返回真或假;copy不是取代,而是放到新地方。
count,count_if(注意右边,容器是否带成员函数)。关联式容器由红黑数或者哈希表做的,所以这8个容器有更快速的方式。
find,find_if
sort用法。sort的迭代器要可以跳,然而list和forward_list不支持。
reverse iterator,rbegin(),rend()
二分搜寻binary_search:调用lower_bound(),安插元素的最低点(会往后推其他元素)。