Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika wrazik w Programowanie

Osobistość

w Programowanie

7piorunów

   

Tutaj link do godbolta: https://godbolt.org/z/sf3Y1E3WG

Komentarze (10)

Praktykant0piorunów

@wrazik Tylko to jest bardzo kontrintuicyjne, wywołanie funkcji, która nigdzie nawet nie była wywoływana. Ja oczywiście jestem daleki od używania jakichkolwiek UB w kodzie, ale taka akcja to prawie jak meteoryt.
:money_mouth_face:

Osobistość1piorunów

@piotrb https://en.cppreference.com/w/cpp/language/for
"As part of the C++ forward progress guarantee, the behavior is undefined if a loop that has no observable behavior (does not make calls to I/O functions, access volatile objects, or perform atomic or synchronization operations) does not terminate. Compilers are permitted to remove such loops. "

for loop - cppreference.comCppreference
Tytan0piorunów

@wrazik czyli ktoś kto tworzył standard: "c⁎⁎j k⁎⁎wa to nie ma sensu, ale jest semantycznie poprawnie, to tak to zategujemy"

Osobistość1piorunów

@grappas UB z założenia może spalić Ci chatę i zgwałcić żonę. Jakaś optymalizacja pewnie wkracza, niezrozumiała z kodu źródłowego ale mogąca mieć sens w jakiejś reprezentacji AST (albo jakiejś innej reprezentacji kompilatora)

Tytan1piorunów
Pusta pętla w cpp to UB

To zrozumiałe, ale co to zmienia w kwestii wyjścia poza main() i odpalenie sobie pierwszej z brzegu funkcji?