🔥

Тред (Дмитрий Свиридкин)


Ну и тред третий. Короткий. Про UB.

Очень часто приходят в реплаи и советуют перейти на что-нибудь из JVM. Типа там UB нет.

Вообще, оно везде есть. И C++ != UB. Самый простой пример — любой ffi вызов может быть с UB, если вы нарушили какие-то предусловия

А в C++ его просто много. Его интересно исследовать. Можно даже книжку написать. Это, конечно, не книжка, но тоже ничего github.com/Nekrolm/ubbook

Мое самое любимое UB — бесконечный цикл без обозреваемых эффектов. Любимое, потому что крайне редко жахает, но все же может.

Мои самые нелюбимое UB — static Initialization/finalization order fiasco и ODR violation. Потому что черт знает когда бахнет, но обязательно бахнет. И будет больно. И фиг найдешь.