John J. #1 REDi: list::remove() is slow - it searches for a list item with a certain value, then deletes it. list::erase() allows you to supply an iterator which references an item and delete the item instantly.