W przypadku zmiennych (jak sama nazwa wskazuje), wartości mogą się zmieniać podczas działania programu. Gdy tworzymy stałą, musimy jej nadać wartość początkową, która przez cały okres działania programu nie może zmienić swojej wartości. W C++ mamy do dyspozycji dwie metody tworzenia zmiennych:
Pierwsza przestarzała metoda wykorzystuje preprocesor:
#include <iostream>
using namespace std;
#define moja_stala 24
int main()
{
int a = 3*moja_stala;
cout<<a<<endl;
cout<<moja_stala<<endl;
return 0;
}
Skoro #define jest dyrektywą preprocesora, więc tworzenie stałej jest wykonane jeszcze przed kompilacją. Oznacza to, że każdy ciąg tekstu moja_stala zostanie zamieniona na liczbę 24, a więc kompilator nie widzi już ciągu tekstu tylko samą liczbę. Warto także zauważyć, że nie podajemy typu stałej.
Definiowanie stałych za pomocą słowa kluczowego const wygląda następująco:
const [typ_stałej] nazwa_stałej = wartość;
const int a = 34; //definicja stałej całkowitej o nazwie "a"
const double pi = 3.14;
const unsigned long long b = 9090000000;
const char znak = 't'; //definicja stałej znakowej
Pamiętajmy, że stała musi mieć nadaną wartość i nie wolno tej wartości nadpisywać. Tworząc stałą mamy pewność, że przez przypadek nie zmienimy jej wartości. |