по пути сам.
тветствии сэтот Вы не можете зарезервировать место дляstd::map
:
Нет, члены карты внутренне хранятся в древовидной структуре. Невозможно построить дерево, пока вы не узнаете ключи и значения, которые должны быть сохранены.
Из этого очевидно, почемуstd::map
будет не хвататьreserve()
метод, который он делает на cppreference.com. Тем не мение,std::unordered_map
делает иметьreserve()
метод, но когда я пытаюсь использовать его сoperator[]
, insert()
или жеemplace()
все они идут, чтобы выделить память, несмотря на то, что я позвонилreserve()
первый.
Что с этим? Почему неreserve()
правильно зарезервировать необходимое место? И если это как с картой, вы не можете выделить память заранее, то почемуstd::unordered_map
даже естьreserve()
метод на первом месте?