a = 10;
std::cout << ++a << ++a
ponoć może wypisać 11 11 i ponoć to wina optymalizacji.
Jeżeli to prawda to wygląda to na bug w kompilatorze, bo w programie działąjącym w 1 wątku nie powinno być takich efektów. Co innego jeżeli chodzi o programy wielowątkowe. Czy ktoś mógłby powiedzieć czy naprawde taki wynik jest możliwy?