《C++STL基础及应用》
#include <iostream>
#include<functional>
#include<algorithm>
#include<vector>
#include<string>
#include<iterator>
using namespace std;
//利用二元函数是学生成绩升序排列
/*函数对象是重载了operator()的类的一个实例,operator()是函数调用运算符
标准C++库根据operator()参数个数为0个,1个,2个加以划分,主要有以下5种类型
发生器:一种没有参数且返回一个任意类型值的函数对象,例如随机数发生器
一元函数:一种只有一个任意类型的参数,且返回一个可能不同类型值的函数对象
二元函数:一种有两个任意类型的参数,且返回一个任意类型值的函数对象
一元判定函数:返回bool型值的一元函数
二元判定函数:返回bool型值的二元函数*/
/*STL二元函数基类是一个模板类,原型如下
*template<class Arg1,class Arg2,class Result>
*struct binary_function{
* typedef Arg1 first_argument_type;
* typedef Arg2 second_argument_type;
* typedef Result result_type;
* }
* */
class Student{
public:
string name;