如何清除c中的所有偶数整数
发布时间:2020-12-16 02:59:59 所属栏目:百科 来源:网络整理
导读:我是C的新手.我想知道经验丰富的编程人员这样做. 我拥有的: setint s;s.insert(1);s.insert(2);s.insert(3);s.insert(4);s.insert(5);for(setint::iterator itr = s.begin(); itr != s.end(); ++itr){if (!(*itr % 2)) s.erase(itr);} 当然,它不行.因为它被
我是C的新手.我想知道经验丰富的编程人员这样做.
我拥有的: set<int> s; s.insert(1); s.insert(2); s.insert(3); s.insert(4); s.insert(5); for(set<int>::iterator itr = s.begin(); itr != s.end(); ++itr){ if (!(*itr % 2)) s.erase(itr); } 当然,它不行.因为它被擦除后递增. 解决方法for(set<int>::iterator itr = s.begin(); itr != s.end(); ){ if (!(*itr % 2)) s.erase(itr++); else ++itr; } Scott Myers的有效STL (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |