Re[3]: Засада с эквивалентным ключом в std::unordered_map
От: · Великобритания  
Дата: 17.10.24 21:50
Оценка: +2
Здравствуйте, Videoman, Вы писали:

V> У нас это некий кусок обобщенной десериализации, где всякие JSON подобные форматы сначала десериализуются в std::unordered_map<std::string, value_class>. В другом месте, в нужный момент из std::unordered_map<std::string, value_class> происходит выдергивание типов. Фактически мне нужно один раз пройти по std::unordered_map и выдернуть оттуда значения.

А зачем вообще тогда sv? Константы инициализируются только один раз, этим и пользуемся:
const auto& name = std::string("constant string");
...
const auto it = object.find(name);


Ещё как вариант: вместо создания новой строки — создать её один раз, зарезервировав размер по максимуму, и потом переприсваивать. Как я понимаю, основные тормоза обычно идут не на копирование байтов, а на выделение-удаление динамической памяти из кучи.
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.