首先,本文的公众号地址为:你真的会清理std::list的元素吗?
转载请注明出处,谢谢!
有经验的程序员都知道,list是链表,可以遍历删除,删除的过程类似于以下代码(遍历删除521):
int key=521;//程序员就不要爱情了吧
list<int>::iterator it=l.begin();//l为std::list<int>
for (; it != l.end();)
{
if (key== *it) {
it = l.erase(it);
}
else {
++it;
}
}
这是我们通常使用的删除方法,我们现在有一种场景:
公司为了惩罚员工迟到(我瞎说的,迟到了是要扣工资的。工作实际遇到的场景描述过于复杂),对于某一天的迟到的员工进行处罚,并且,由于有些员工是,年龄大了,网开一面,就不惩罚了。
假设我们的员工打开记录都存放在一个list里面,按照时间顺序存放,来的晚的打卡记录就在后面。
定义打卡的结构体:
struct DingDong