[C++] Różnica między const a static jako pola w klasach


(niesuszek) #1

Witam. Czym różnią się pola klasy zadeklarowane jako "const" od pól zadeklarowanych jako "static"?


(Matadini) #2

Modyfikator "const" ma to na celu aby dany obiekt od chwili swoich narodzi/powstania aż do śmierci/zniszczenia - nie uległ zmianie. Nie można nadać takiemu obiektowi nowej wartości, ani w jakikolwiek sposób modyfikować. :stuck_out_tongue: tyle wynika z moich zawiłych notatek :wink: Nie wiem czy Ci się to przyda, wydaje mi się że reguła z CONST pasuje do wszystkich "obiektów" w programowaniu - czy to jest zmienna czy co innego. Jeżeli chodzi o static - kojarzy mi się że modyfikator sprawia że "obiekt(zmienna bądź cokolwiek innego) ma swoje stałe miejsce w pamięci komputera - ale reki za powyższe informacje sobie uciąć nie dam. ;D


(Psmisiewicz) #3

const - stała wartość przez całe trwanie programu

static - dostęp do pola nawet bez tworzenia obiektu danej klasy


(Rolek0) #4

Polecam dobry kurs C++ http://xion.org.pl/productions/texts/coding/megatutorial/, opcjonalnie http://darkcult.nazwa.pl/wiki/index.php/C%2B%2B :slight_smile:


(etam) #5