У меня есть карта, как этотМожно ли получить объект в std :: map по ссылке?
map<int,object> objmap;
object& obj = objmap.find(num)->second;
object& obj2 = objmap[num];
Какие бы изменения я делаю в объекте должны быть отражены на карте. Подобная вещь не может быть выполнена в векторе, поскольку она изменяет расположение объектов, когда требуется больше места. Безопасно ли это делать на std :: map? и это целесообразно? Вторая версия дает ошибку, так как у моего объекта нет пустого конструктора. Если я объявлю, что пустой конструктор ничего не делает, две линии будут работать одинаково?
Вы знаете, где и как найти такую информацию в документах? На самом деле я даже не знал, как искать этот ответ: как правильно сказать «объекты не перемещаются»? Я думаю, что спецификации должны определять это именно потому, что это такое важное различие между вектором и картой. – Flynsee