STL的算法和容器中常常能让用户提供自定义的比较方法,但是注意其中的坑:
一般的算法如sort(iterator,iterator,com)是函数模板,可以自动推断com的类型,所以com可以使functional和函数指针。
而容器是模板类,需要自己传入指针如priority_queue<int,vector<int>,com>,所以com必须为一个类型,而函数指针和bind(bind生成一个函数,相当于函数指针)不是类型是具体的值,所以只能用functional,如lamda表达式(自动生成的隐形类)和可调用类