42 Godzina 4
NOWY TERMIN
Chyba najczęściej dodawaną (i odejmowaną) liczbą jest jedynka. W C++ dodawanie jedynki to inkrementacja. Odjęcie jedynki to dekrementacja. Istnieją specjalne operatory dla dekrementacji i inkrementacji.
Operator inkrementacji (++ ) dodaje 1 do zmiennej, a operator dekrementacji ( - ) odejmuje 1. Jeśli masz zmienną C, i chcesz dodać do niej 1 to możesz użyć następujących instrukcji:
C++; // dodaj 1 do C
Ta instrukcja jest równoważne tej, bardziej złożonej:
C = C + 1;
która, z kolei, jest równoważna takiej: C += 1;
Operatory inkrementacji (++) i dekrementacji (—) mogą występować
w dwóch odmianach: przedrostkowej i przyrostkowej. Operator przedrostkowy pisany jest przed nazwą zmiennej (++MojWiek); odmiana przyrostkowa po nazwie zmiennej (MojWiek++).
W pojedynczej instrukcji nie ma znaczenia, której odmiany użyjemy. Jednak w złożonych instrukcjach, w których wykorzystuje się inkrementację, dekrementację i przypisanie ma to wielkie znaczenie. Operator przedrostkowy jest obliczany przed przypisaniem natomiast przyrostkowy po przypisaniu.
Operatory przedrostkowe można rozumieć tak: zwiększ wartość o jeden i wtedy ją pobierz, natomiast operatory przyrostkowe: pobierz wartość, a potem zwiększ oryginał o jeden.
Może się to wydawać nieco zagmatwane, ale spójrzmy na przykład: jeśli x jest zmienną całkowitą o wartości 5, to gdy napiszesz tak: int a = ++x;
to mówisz kompilatorowi, że ma dodać jedynkę do x (x przyjmuje wartość 6) i dopiero wtedy pobrać wartość x i umieścić ją w a. Teraz x jest równe 6 i a jest równe 6.
Jeśli potem napiszesz:
int b = x++;
to wydajesz kompilatorowi polecenie pobrania wartości x (czyli 6), przypisania jej do b i zwiększenia x o 1. Oznacza to, że b jest teraz równe 6, a x jest równe 7. Listing 4.2. pokazuje jak używać obydwu typów.
Chyba najczęściej dodawaną (i odejmowaną) liczbą jest jedynka. W C++ dodawanie jedynki to inkrementacja. Odjęcie jedynki to dekrementacja. Istnieją specjalne operatory dla dekrementacji i inkrementacji.
Operator inkrementacji (++ ) dodaje 1 do zmiennej, a operator dekrementacji ( --) odejmuje 1. Jeśli masz zmienną C, i chcesz dodać do niej 1 to możesz użyć następujących instrukcji:
C++; // dodaj 1 do C
Ta instrukcja jest równoważne tej, bardziej złożonej: C = C + 1;
która, z kolei, jest równoważna takiej:
C += 1;
NOWY TERMIN
Operatory inkrementacji (++) i dekrementacji (—) mogą występować w dwóch odmianach: przedrostkowej i przyrostkowej. Operator przedrostkowy pisany jest przed nazwą zmiennej (++MojWiek); odmiana przyrostkowa po nazwie zmiennej (Mo jWiek++).
W pojedynczej instrukcji nie ma znaczenia, której odmiany użyjemy. Jednak w złożonych instrukcjach, w których wykorzystuje się inkrementację, dekrementację i przypisanie ma to wielkie znaczenie. Operator przedrostkowy jest obliczany przed przypisaniem natomiast przyrostkowy po przypisaniu.
Operatory przedrostkowe można rozumieć tak: zwiększ wartość o jeden i wtedy ją pobierz, natomiast operatory przyrostkowe: pobierz wartość, a potem zwiększ oryginał o jeden.
Może się to wydawać nieco zagmatwane, ale spójrzmy na przykład: jeśli x jest zmienną całkowitą o wartości 5, to gdy napiszesz tak: int a = ++x;
to mówisz kompilatorowi, że ma dodać jedynkę do x (x przyjmuje wartość 6) i dopiero wtedy pobrać wartość x i umieścić ją w a. Teraz x jest równe 6 i a jest równe 6.
Jeśli potem napiszesz: int b = x++;
to wydajesz kompilatorowi polecenie pobrania wartości x (czyli 6), przypisania jej do b i zwiększenia x o 1. Oznacza to, że b jest teraz równe 6, a x jest równe 7. Listing 4.2. pokazuje jak używać obydwu typów.