Kurs C++
Czym się różni preinkrementacja od postinkrementacji
[pytanie/odpowiedź] Dokument opisuje jaka jest różnica pomiędzy preinkrementacją, a postinkrementacją.Wprowadzenie
Podczas nauki programowania w C++ na pewno spotkałeś się z pojęciem inkrementacji wartości. Inkrementacja jest to zwiększenie wartości o jeden. Wartość zmiennej liczbowej można zwiększyć o jeden za pomocą zapisów:
++zmienna;
zmienna++;
zmienna += 1;
zmienna = zmienna + 1;
Wszystkie powyższe zapisy dadzą taki sam wynik, jeżeli zostaną one użyte w osobnej linijce kodu. W przedstawionych instrukcjach istnieją jednak dwa specjalne zapisy, które mają swoją własną nazwę, tj. preinkrementacja (zmienna zaczynająca się znakami ++) oraz postinkrementacja (zmienna kończąca się znakami ++).
Preinkrementacja
Definicja
Preinkrementacja powoduje zwiększenie wartości zmiennej o jeden, ale jej zwiększenie następuje
przed wykorzystaniem zmiennej.
Przykład
#include <cstdio>
int main()
{
int x = 10;
int y = ++x;
printf( "x = %d; y = %d\n", x, y );
return 0;
}
Postinkrementacja
Definicja
Postinkrementacja powoduje zwiększenie wartości zmiennej o jeden, ale jej zwiększenie następuje
po wykorzystaniu zmiennej.
Przykład
#include <cstdio>
int main()
{
int x = 10;
int y = x++;
printf( "x = %d; y = %d\n", x, y );
return 0;
}
Dekrementowanie zmiennej
Dekrementacja jest to zmniejszenie wartości o jeden. Wartość zmiennej liczbowej można zmniejszyć o jeden za pomocą zapisów:
--zmienna;
zmienna--;
zmienna -= 1;
zmienna = zmienna - 1;
Predekrementacja
Predekrementacja działa analogicznie do
preinkrementacji z tą różnicą, że
zmniejsza wartość zmiennej o jeden.
Postdekrementacja
Postdekrementacja jest analogiczna do
postinkrementacji z tą różnicą, że
zmniejsza wartość zmiennej o jeden.
Podsumowanie
Jeżeli jesteś na etapie nauki i trudno jest Ci zapamiętać różnicę pomiędzy preinkrementacją, a postinkrementacją, to staraj się pisać kod tak, aby unikać złożonych zapisów w kodzie. Innymi słowy: nie wykonuj kilku operacji w jednej linijce, aby skrócić kod. Pisz kod nieco dłuższy, który będziesz lepiej rozumiał. Wraz z nabieraniem doświadczenia i tak przyswoisz sobie jaka jest różnica między preinkrementacją, a postinkrementacją. Preinkrementacje i postinkrementacje zacznij stosować w instrukcjach złożonych wtedy, gdy już będziesz biegły w czytaniu dowolnego kodu C++.
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.