Как безопасно реализовать «Использование неинициализированной памяти для развлечения и выгоды»?C++

Программы на C++. Форум разработчиков
Anonymous
Как безопасно реализовать «Использование неинициализированной памяти для развлечения и выгоды»?

Сообщение Anonymous »

Я хотел бы построить плотный набор целых чисел на C++, используя трюк, описанный на https://research.swtch.com/sparse. Этот подход обеспечивает хорошую производительность, позволяя читать неинициализированную память.

Как я могу реализовать эту структуру данных, не вызывая неопределенного поведения и не нарушая такие инструменты, как Valgrand или ASAN ?

Изменить: похоже, что респонденты сосредотачиваются на слове «неинициализированный» и интерпретируют его в контексте языкового стандарта. Вероятно, это был неудачный выбор слова с моей стороны - здесь «неинициализированный» означает только то, что его значение не важно для правильного функционирования алгоритма. Очевидно, что эту структуру данных можно безопасно реализовать (LLVM делает это в SparseMultiSet). Мой вопрос: каков наилучший и наиболее эффективный способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/437 ... and-profit

Вернуться в «C++»