Lekcja 11
Modyfikatory typów w języku C++. Używanie stałych w programach
Do czego służą modyfikatory - wprowadzenie
W jednej z poprzednich lekcji przedstawiłem Ci podstawowe typy danych występujące w języku C++. Głównym celem modyfikatorów jest w pewnym sensie zmodyfikowanie istniejących typów danych. Oprócz tej funkcji istnieją też modyfikatory mające inne cele.
Może Cię zastanawiać, po co wprowadzać modyfikatory skoro można korzystać z podstawowych typów danych. W pewnym sensie masz nawet rację. Podstawowe, poznane dotychczas typy danych w podstawowych operacjach powinny Ci wystarczyć.
Sytuacja wygląda jednak trochę inaczej, kiedy na przykład potrzebujesz przeprowadzać operacje na bardzo dużych liczbach. Może się okazać, że wbudowane typy danych nie zawsze wystarczają. Wówczas trzeba stworzyć własny typ danych, który umożliwi przeprowadzanie operacji. Nie muszę Cię chyba przekonywać, że nie jest to zbyt łatwe rozwiązanie.
Często natomiast zdarza się jednak, że tak naprawdę do takich operacji wystarczą nam podstawowe typy danych, ale odpowiednio zmodyfikowane. Wtedy właśnie użyjemy modyfikatorów.
Modyfikatory mogą okazać się również bardzo przydatne, gdy pracujemy na bardzo dużej liczbie danych, ale dane te są tak małe, że wbudowane typy danych są dla nas "za duże". W ten sposób niepotrzebnie jest zużywana tak duża ilość pamięci dla jednej danej, podczas gdy tą tak naprawdę niewykorzystaną pamięć można by wykorzystać dla kolejnych danych. Do rozwiązania tego problemu również można wykorzystać modyfikatory.
Modyfikatory short i long
Za pomocą tych dwóch modyfikatorów możemy zmniejszyć lub powiększyć rozmiar typu danych. W ten sposób możemy albo zaoszczędzić pamięć (typ short) lub umożliwić zapisanie większej liczby (typ long).
Modyfikatorów tych nie możemy jednak zastosować do dowolnego typu danych. Tak naprawdę możliwe są jedynie następujące połączenia:
short int - "pomniejszony" typ int
long int - "powiększony" typ int
long double - "powiększony" typ double
Używając modyfikatorów, musimy zdawać sobie sprawę z konsekwencji. Stosując modyfikator short sprawiamy, że typ będzie zajmował najprawdopodobniej mniej miejsca w pamięci, jednak będziemy mogli zapisywać poprawnie mniejsze liczby niż standardowo.
Z kolei stosując modyfikator long musimy wiedzieć, że typ będzie teraz zajmował najprawdopodobniej więcej miejsca w pamięci, ale w nagrodę będziemy mogli zapisywać większe liczby.
Przy okazji warto wspomnieć o wprowadzonej skróconej notacji. Deklarując w programie zmienną typu short int wystarczy, że napiszemy tylko short. Analogicznie, zamiast pisać long int wystarczy, że napiszemy tylko long. Dla typu long double nie istnieje skrócona notacja.