Functor
std::set
场景:
1. functor其实就是一个类对象,因为它重载了operator()操作符,所以可以把实例当作函数名那样操作,在C里也只有函数可以这么做.比如语句 f(1,2);在cpp
必须通过上下文判断f是对象还是函数.
2.在使用stl的容器类或算法函数时,经常需要自己传入一个functo作为参数或模板.
#include <string.h>
#include <iostream>
#include <fstream>
#include <string>
#include <utility>
#include <set>
using namespace std;
class Person
{
public:
Person(int code,const string& name,const string& grade,
const string& address):code_(code)
{
name_ = name;
grade_ = grade;
address_ = address;
}
~Person(){}
int code_;// 学号.
string name_;// name.
string grade_; //grade.
string address_;
void operator()()
{
cout