Re[22]: C++ illegal instruction
От: sergii.p  
Дата: 21.08.25 13:35
Оценка: +1
Здравствуйте, rg45, Вы писали:

R>Повторяю ещё раз свой ответ, неопределённое поведение вот здесь:


R>

R>8.7.3 The return statement
R>2 . . . Otherwise, flowing off the end of a function other than main or a coroutine ([dcl.fct.def.coroutine]) results in undefined behavior.


ну так и такой код

char buffer[2] = {0x01, 0x02};
short value = *(reinterpret_cast<short*>(buffer));


строго говоря UB. Но никто же не отправляет программу в нокаут из-за этого. Это просто сломает невообразимую массу кода.
Так что нельзя говорить, что при UB компилятор волен делать что угодно. Нифига он не волен Он может делать оптимизации — это да. А вот так просто класть программу — это беспредел.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.