
本文共 1763 字,大约阅读时间需要 5 分钟。
C++������erase
���������������������������������������������������������������vector
���map/list
���������������������������������erase
���������������
���vector
���������
void erase(vector &v) { for(vector::iterator vi = v.begin(); vi != v.end(); ) { if(*vi % 2 == 0) { std::cout << "Erasing " << *vi << std::endl; vi = v.erase(vi); } else { ++vi; } }}
���vector
������������������������
void erase2(vector &v) { for(vector::reverse_iterator ri = v.rbegin(); ri != v.rend(); ) { if(*ri % 2 == 0) { std::cout << "Erasing " << *ri << std::endl; v.erase((++ri).base()); } else { ++ri; } }}
���������������������������������������������������������������reverse_iterator
������������vector::erase
������������������������������������������������������������������������������������������������������base()
������������������������������������������������������������������������������������������������������
���map/list
���������
������map
������������������������������������������������������������������������������������������������������������������������
void erase(map &m) { for(map::iterator mi = m.begin(); mi != m.end(); ) { if(mi -> second % 2 == 0) { std::cout << "Erasing " << mi -> second << std::endl; m.erase(mi ++); } else { ++mi; } }}
������������������������������map
������iterator
������������������������������������������������������������������������������������erase
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
发表评论
最新留言
关于作者
