Я хотел бы построить плотный набор целых чисел на C++, используя трюк, описанный на https://research.swtch.com/sparse. Этот подход обеспечивает хорошую производительность, позволяя читать неинициализированную память.
Как я могу реализовать эту структуру данных, не вызывая неопределенного поведения и не нарушая такие инструменты, как Valgrand или ASAN ?
Изменить: похоже, что респонденты сосредотачиваются на слове «неинициализированный» и интерпретируют его в контексте языкового стандарта. Вероятно, это был неудачный выбор слова с моей стороны - здесь «неинициализированный» означает только то, что его значение не важно для правильного функционирования алгоритма. Очевидно, что эту структуру данных можно безопасно реализовать (LLVM делает это в SparseMultiSet). Мой вопрос: каков наилучший и наиболее эффективный способ сделать это?
Подробнее здесь: https://stackoverflow.com/questions/437 ... and-profit