set/map в одном куске памяти
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 09.10.20 22:12
Оценка:
Здравствуйте!

Хочу иметь что-то типа std::set, или возможно, std::map, ключом выступает строка (голый указатель char), и чтобы всё хранилось в одном куске памяти, который статически задается, и никогда не происходит перевыделений. Если места не хватило — просто падаем.

Хочется максимально быстро искать, добавление будет производится при отсутствии ключа наверное на пару десятичных порядков реже.

Пока придумал строки класть в один кусок памяти, указатели на них (на пару с индексом/указателем полезной нагрузки) — в другой кусок памяти, полезную нагрузку — в третий кусок памяти.
При добавлении нам нужно только найти место для вставки и раздвинуть один массив с указателем-ключом или { ключ, индекс } (для мапа).

Возможно есть готовые алгоритмы/реализации получше для заданных условий?
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.