摘自: http://www.cadcaecam.com/forum/thread-10455-1-1.html
已知待刪除元素靠近list的尾部, 是否可以從尾部搜索并刪除呢?
for (MYLIST::reverse_iterator i = mylist.rbegin(); i != mylist.rend(); ++i) { if (THE_VALUE == *i) mylist.erase(i); }
因為erase()只不能以反向迭代器為參數, 上述代碼行不通.
應該是:
if (THE_VALUE == *i) mylist.erase((++i).base());
Powered by: C++博客 Copyright © 金慶