我们可以通过流行的erase–removeidiom从容器中删除一个元素/条目.但是,我们中的许多人在应用这个成语时会遇到一些问题:很容易陷入错别字之类的陷阱c.erase(std::remove_if(c.begin(),c.end(),pred));//,c.end()//--->missinghere或c.erase((std::remove_if(c.begin(),c.end(),pred),c.end()))//^^^^//extra()makesitpassonlyc.end()tothec.erase它甚至遵循错误的语义容器,如std::list不选择自己的成员std: