menulisting32









Modyfikator const




Zawartość podrozdziału:




Pojedynek "const" contra "define"



Czasem chcielibyśmy w programie posłużyć się obiektem (np. typu int), którego zawartości nawet przez nieuwagę nie chcielibyśmy zmieniać. Obiekt tego typu, to tak zwany obiekt stały.

Mówiliśmy już o stałych dosłownych. Były to po prostu liczby, które napisane były w tekście programu. Tutaj nie chodzi o liczby, ale o obiekty, które mają w sobie jakąś wartość. Paradoksem byłoby powiedzieć: chodzi o zmienne, które w programie mają się nie zmieniać.

Przykładem może być choćby program na liczenie pola koła, objętości kuli i czegoś jeszcze. Wielokrotnie w takim programie potrzebować będziemy liczby pi. W tym celu zdefiniujemy sobie obiekt typu float i nadamy mu wartość odpowiadającą liczbie pi.

float pi = 3.14 ;


Jeśli jednak chcemy mieć pewność, że nigdy, nawet przez nieuwagę nie zmienimy wartości naszej liczby pi, wówczas taką definicję poprzedzamy słowem (modyfikatorem) const. Mówimy modyfikator, bo modyfikuje on zwykłą definicję tak, że teraz jest to definicja obiektu stałego.

const float pi = 3.14 ;


Zauważmy, że równocześnie inicjalizujemy tutaj nasze pi wartością 3.14 -musimy to zrobić właśnie przy definicji. Później - przepadło! Od tej pory już nie można podstawić do obiektu const żadnej wartości. (Nawet takiej samej!)

const float pi = 3.14 ;

pi = 200 ; // !!! (błąd)
pi = 3.14 ; // !!! (błąd)


Wszelkie próby przypisania jakiejkolwiek wartości do obiektu pi będą uznawane za błąd. Tutaj po raz pierwszy pojawia się nam różnica między inicjalizacją a przypisaniem.

Inicjalizacją nazywać będziemy nadanie obiektowi wartości w momencie j jego narodzin.



Przypisaniem nazywać będziemy podstawienie do niego wartości w jakimkolwiek późniejszym momencie.



Oto przykłady inicjalizacji:

int a = 7 ;
const int cztery = 4 ;


Oto przykłady przypisania:

a = 100 ;
x = 25.5 ;
r = 30 * 7.5 ;
cztery = 4 ; // BŁĄD -jeśliby! to obiekt const /


Zapamiętaj


Obiekty const można inicjalizować, ale nie można do nich nic przypisać.


Słowa, słowa, słowa

Osobiście mam wstręt do takich "mądrych" słów jak: modyfikator, bo gdy kilka takich słów spotka się obok siebie w jednym zdaniu - trudno je zrozumieć. Dlatego słowa takie jak const nazywam sobie po prostu: przydomek. Nasz obiekt pi ma przydomek const - jest więc obiektem stałym.

Jeszcze jedna uwaga językowa: Mówimy "inicjaLIZAcja", a nie "inicjacja". Jest ogromna różnica między tymi słowami. Jeśli będziesz uparcie mówił "inicjacja", to zajrzyj sobie kiedyś do encyklopedii i sprawdź co to słowo znaczy. Trochę się pośmiejesz, a potem już zawsze będziesz mówił tylko; "inicjalizacja"










Wyszukiwarka

Podobne podstrony:
menulist2
menulinki
menulisting59
MenuListener
menulisting19
menulisting26
menulisting1
menulisting24
menulist
MenuListener
menulisting15
menulisting17
menulisting4
menulisting52
menulist1
menulisting34

więcej podobnych podstron