泛型算法:
find();搜索无序(unordered)集合中是否存在某值,存在返回iterator指向它,不存在返回iterator指向last
binary_search();用于有序(sorted)集合的搜索,找到返回true,否则返回false;比find();更有效率,因为find();是线性搜索
cout();返回数值相同的个数
search();查找子序列,存在返回iterator指向此子序列的头,不存在返回iterator指向容器尾
max_element();传入一对iterator,返回里面的最大值
Function Object:
算数运算:
plus< type >,minus< type >,negate< type >,multiplies< type >,divides< type >,modules< type >
关系运算:
less< type >,less_equal< type >,greater< type >,greater_equal< type >,equal_to < type>,not_equal_to< type>
逻辑运算:
logical_and< type>,logical_or< type>,logical_not< type>
binder adapter(绑定适配器)
对function object的参数绑定至某特定值(一般为某参数),这样就能使(binary)二元function object转换为(unary)一元。
bind1st:将值绑定至第一操作数
bind2nd:将值绑定至第二操作数
negator:取反例如:notl ( bind2nd ( less< int >, 10))就是取大于十的数
例如
在容器的操作中,常常涉及到“赋值”操作,此时我们就需要考虑目标容器的大小,否则谁造成越界,但固定大小虽然是安全的,却不方便,也不是STL的方法,这里就要用到插入适配器 insertion adapter了C++规定了三个这种adapter
back_inserter()用push_back()取代了assignment运算符
inserter()以insert()取代assignment运算符,参数为两个,一个是容器,一个是iterator,指向要插入的位置
front_inserter()以push_front()取代assignment运算符,只适用于list和deque
例如filter函数可以这样调用:
没地方记笔记,只能写在这了。。