W programach (dosyć często) używamy wielkości, o których wiadomo, że nie powinny się zmieniać. Typowym przykładem jest liczba π.
Możemy oczywiście zastąpić każde wystąpienie π przez np. 3.14. Rozwiązanie to ma jednak bardzo poważną wadę - jeśli uznamy, że wielkość ta powinna być podana z inną dokładnością, to będziemy musieli przeglądnąć cały program i wprowadzić odpowiednią zmianę.
Powracając do przykładu z liczbą π - możemy zdefiniować stałą pi i wykorzystywać ją tak jak każdą inną zmienną z jednym zastrzeżeniem - nie można przypisać nowej wartości do stałej
const float pi = 3.14; float promien = 3; float poleKola = pi*r*r; float obwodKola = 2*pi*r;
Próba przypisania nowej wartości do takiej zmiennej skończy się błędem kompilacji. Oznacza to w szczególności, że takie zmienne muszą być od razu zainicjalizowane
const float pi; // BŁĄD (na ogół) stała niezainicjalizowana prog.cpp:3:15: error: uninitialized const 'pi'
Użycie zmiennej z modyfikatorem const ma wiele zalet
const float pi=3.14; pi = 3.1415; prog.cpp:4:8: error: assignment of read-only variable 'pi'