Programowanie i algorytmy

Stałe w C++

powrót

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:

  • za pomocą dyrektywy #define
  • za pomocą słowa kluczowego const

Pierwsza przestarzała metoda wykorzystuje preprocesor:

Przykład 1
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
#define moja_stala 24
 
int main()
{
int a = 3*moja_stala;
cout<<a<<endl;
cout<<moja_stala<<endl;
 
system("PAUSE");
return EXIT_SUCCESS;
}
 

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ść;

 

Przykład 2
const int a = 34; //definicja stałej całkowitej o nazwie "a"
const float 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.