Мои обозреватели кода отметили, что использование оператора [] карты очень плохо и приводит к ошибкам:
map[i] = new someClass; // potential dangling pointer when executed twice
Или
if (map[i]==NULL) ... // implicitly create the entry i in the map
Хотя я понимаю риск после прочтения API, что insert ()
лучше, так как он проверяет дубликаты, что позволяет избежать появления висячего указателя, я не понимаю, что если обработать правильно, почему []
не может использоваться вообще?
Я выбираю карту в качестве своего внутреннего контейнера именно потому, что хочу использовать ее быструю и самоочевидную возможность индексирования.
Я надеюсь, что кто-то сможет спорить со мной еще больше. или встаньте на мою сторону :)