一碗阳春面
liujianping
全部博文(46)
2010年(7)
2009年(39)
cynthia
wangzhix
xw1119
darkzl
羽生
水手228
dixin01
aanchun1
fancyltt
分类: C/C++
2010-01-08 17:46:15
#include <list> #include <algorithm> #include <iostream> using namespace std; #include <time.h> //embed type def struct warn_node { //! id int gid; //! value int current; //! warn time time_t warn_time; }; //! functor for warn_node timeout class warn_node_timeout { public: warn_node_timeout(time_t timeout):m_timeout(timeout) {} bool operator()(struct warn_node elem) { if(elem.warn_time < m_timeout) return true; return false; } private: time_t m_timeout; }; int main() { list<struct warn_node> warn; time_t timeout; for(int i = 0; i < 10; i++) { struct warn_node nd; nd.gid = i; nd.current = i*2; nd.warn_time = time(0); warn.push_back(nd); if(i == 4) timeout = time(0); sleep(1); } warn.erase(remove_if(warn.begin(), warn.end(), warn_node_timeout(timeout)), warn.end()); list<struct warn_node>::iterator it; for(it = warn.begin(); it != warn.end(); it++) { cout<<it->gid<<" "<<it->current<<endl; } return 0; }
上一篇:boost中快速关闭socket
下一篇:如何管理软件开发团队(转载)
登录 注册