Но может надо это ub "узаконить"? Пусть у нас будет отдельный тип, std::ubyte. Это uninitialized byte, ну и немного ub в названии ему тоже не помешает.
Есть например функция типа itoa, i2str(int i, ubyte* os). Делаем char str[10]; i2str(42, ubytes(istr))
Конверсия ubytes это подразумевается reinterpret cast.
Получаем ub - если до i2str смотрели на str, он формально не менялся.
Но камон, как часто вы алиасите содержимое буфера куда пишете? Никогда наверное
start_lifetime_as не поможет?
Это reinterpret, ничто не поможет. Нужен ub_cast отдельный :)
Обсуждают сегодня