其中一种写法:
struct hook_info { string lib_name; string fun_name; int param_count; bool bIATHook; hook_info(char *lib, char* fun, int param, bool b) { lib_name = lib; fun_name = fun; param_count = param; bIATHook = b; } bool operator< ( const hook_info& a) const { if (this->lib_name.compare(a.lib_name) < 0) return true ; if (this->lib_name.compare(a.lib_name) > 0) return false; if (this->fun_name.compare(a.fun_name) < 0) return true ; if (this->fun_name.compare(a.fun_name) > 0) return false; if (this->param_count < a.param_count) return true; if (this->param_count > a.param_count) return false; if (this->bIATHook == false && a.bIATHook == true) return true; if (this->bIATHook == true && a.bIATHook == false) return false; return false; } };