比如我有一个结构体:
Struct DATA
{
int order; //序号
int type; //类型
double dValue; //值
time_t time; //时间
};
现在我有一个容器,里面有N个DATA结构:
Vector<DATA> vData;
需求:从结构体中找出 序号<10, 类型=1, 值在[1,10]之间,时间在一个范围之间。
解决方法:使用STL的算法find_if和函数对象。
因为要使用多个条件来匹配,可以将这些条件用一个结构体来表示:
struct PRAMA
{
int type; //类型
int order; //序号
time_t StartTime; //查询开始时间
time_t EndTime; //查询结束时间
};
函数对象: