Некоторые загадочные по своей природе, но всем знакомые аспекты программирования окутаны особым мистическим флёром. Один из таких — неопределённое поведение (undefined behavior). Да, про него не пишут крипипасты, как про зловещие баги в играх. Однако причины и условия его возникновения иногда настолько туманны, что кажутся почти иррациональными. Да и сама идея о какой-то там "неопределённости" поведения программы, которую по всем правилам языка пишет человек (следовательно, определяя её поведение), навевает мысли о наличии у машины... собственной воли? Или о нечистой силе :) Что же остаётся разработчикам? (Скрестить пальцы, зажечь свечку и молиться, чтобы программа работала так, как её написали). Уж точно не мистифицировать. Можно попытаться "определить" поведение программы или хотя бы причины, по которым UB возникает. А чтобы не чувствовать себя один на один с этим монстром, можно почитать статьи: