Я экспериментирую с tr1 :: unordered_map и наткнулся на проблему, как
эффективно удалять элементы. Метод «erase» предлагает удалить либо по ключу, либо по
итератором. Я бы предположил, что последний будет более эффективным, так как первый
предположительно включает в себя неявную операцию поиска. С другой стороны, мои исследования
в интернете выяснили, что итераторы могут стать недействительными после вызова
метод insert ().
Меня интересует типичная реальная ситуация, когда объекты помещаются в хеш-таблицу.
иметь срок службы, который достаточно длинный, так что вызовы insert () происходят во время этого
срок жизни. Таким образом, могу ли я заключить, что в такой ситуации удаление по ключу является единственным
вариант остался? Есть ли альтернативы, как более эффективно удалять объекты? я
полностью осознавая, что вопрос имеет значение только в приложениях, где происходят удаления
довольно часто. Будет ли это так для моего текущего проекта, еще неизвестно, но
Я предпочел бы узнать об этих проблемах при разработке своего проекта, а не когда
кода уже много.