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++. |