Tytuł: Post i pre inkrementacja Wiadomość wysłana przez: admin Październik 19, 2011, 07:59:27 Zapis a++ oznacza post inkrementację, jeżeli jest zapisany samodzielnie jest zwykłym zwiększeniem a o 1. Jednak jeżeli chcielibyśmy napisać:
int a=2; a=a++; cout<<a; to wyświetlony zostanie wynik 2; bo ten zapis mówi: najpierw użyj potem dodaj; Zapis w postaci: int a=2; a=++a; cout<<a; to wyświetlony zostanie wynik 3; bo ten zapis mówi: najpierw dodaj potem użyj; Postinkrementacja w C++ to bardzo niebezpieczny operator, głównie dlatego, że jego działanie jest sprzeczne z intuicją. Otóż, wbrew temu co można by oczekiwać, postinkrementacja ma w wyrażeniu miejsce PO wszelkich operacjach obliczenia wartości wyrażenia, ale PRZED wykonaniem przypisań. Przykład jaka wartość zostanie wyświetlona po realizacji polecenia b += a++. |