Легко словить уб
в чём там будет заключаться UB? Я не очень понимаю
Чтение невыровненного указателя например или доступ к несуществующему объекту. Много чего может быть
что значит невыровненный указатель? Они же имеют одинаковую размерность в рамках платформы?
Указатель на невыровненные данные я имел в виду
тем что ломает систему типов С++, в обычном коде он нужен весьма редко
а вот как тогда сделать приведение из uint8_t* -> uint16_t* ?
Никак, обычно вы не должны этого хотеть, ибо это указатели на разные типы
Ничем, если кастишь в char*
Еще как надо, не просто же так я про это написал.
Вероятно, вы делаете что-то очень платформоспецифичное или неправильное
Даже там пара статик кастов через void* чуть больше защищает от выстрела в ногу
Обсуждают сегодня