уровне массива байт (сжатие/разжатие и тд)
собственно раньше я создавал массив типа Т, а потом кастовал его к массиву байт и обрабатывал. Но сейчас захотелось выделать отдельный слой, который за это отвечает. Могут ли быть потенциально проблемы с выравниванием, если я сначала аллоцирую массив байт, а потом кастону его к типу Т?
https://stackoverflow.com/questions/98650/what-is-the-strict-aliasing-rule Там есть хороший ответ. Если кратко то можно использовать массив char
проще всего оставить как есть так-то вы можете выделить правильный буфер, в котором можно будет все провернуть, но там легко выстрелить себе в ногу
ключевые слова: std::aligned_storage, placement new
Обсуждают сегодня