Хорошо, это может показаться странным, но, пожалуйста, несите меня, я всего лишь новичок. За последние несколько дней я пытался разработать хэш-функцию общего назначения для поддержки ассоциативного массива с хеш-таблицей, используя все лучшие части хеш-функций, таких как RS, JS, ELF e.t.c, чтобы уменьшить хэш-коллизии. но теперь проблема заключается даже в том, чтобы избежать заметного количества столкновений. Мне нужно будет использовать беззнаковые длинные значения с наименьшими 6 знаками, чтобы избежать столкновения.Динамическая инициализация памяти по заданному адресу памяти
Давайте просто предположим, что мне просто нужно сопоставить имена учеников с их метками. Поэтому я поддерживаю целочисленный массив для меток.
Теперь вернемся к моему вопросу.
Идея, о которой я думал, состояла в том, чтобы использовать эти значения как несколько бит младшего разряда фактического адреса памяти, а затем динамически инициализировать память, достаточную для хранения целого числа полученных меток. Этот процесс повторяется для каждой новой добавленной стоимости.
Теперь предполагая, я каким-то образом удалось избежать всех ячеек памяти, которые будут защищены от ОС
Есть ли реальный способ динамически инициализировать память по адресу, мы, как вместо того, чтобы новый оператор в инициализируйте его, а затем верните указатель на это местоположение адреса в C++. (Я использую gcc).
Подробнее о ['std :: map'] (http://en.cppreference.com/w/cpp/container/map). –
для хэш-таблицы использовать ... таблица. ну, массив. как. –
Посмотрите «оператор размещения новый». –