Home >> C++ návod >> Konstanty

Konstanty

V minulé lekci jsme se seznámili s proměnnými. Víme tedy, že pokud nadeklarujeme nějakou libovolnou proměnou určitého typu, vznikne v operační paměti místo pro uložení dat dle tohoto typu. Víme také, že obsah proměnné není stálý a lze jej kdykoliv změnit (od toho název "proměnná").

V této lekci se proto seznámíme s konstantami, které nám umožní vytvořit místo v paměti jehož obsah je neměnný nebo-li tzv. konstantní.

Seznámení z konstantami

Jak už bylo uvedeno, konstantou nazýváme paměťový prostor, který má definovaný obsah a tento obsah nelze přepsat. Obsahem konstanty může být cokoliv, ovšem nejčastěji se konstanty požívají pro číselné hodnoty (například číslo Pí). Pro lepší pochopení významu se podívejme na následující ukázku:

#include <iostream>
using namespace std;
int main()
{
  const double pi = 3.141592653589793;
  double r = 25.0;
  double obvod_kruhu = 2*pi*r;
  double obsah_kruhu = pi*r*r;
  cout << "Obvod kruhu je: " << obvod_kruhu << endl;
  cout << "Obsah kruhu je: " << obsah_kruhu << endl;
  return 0;
}

Ukázkou je program pro výpočet obvodu a obsahu kruhu. V příkladu byla nadeklarována konstanta pi. Můžete si všimnout, že se jedná o stejný způsob deklarace jako pro proměnnou (datový typ + identifikátor), ovšem s rozdílem, že před datovým typem je použito klíčové slovo const, které znázorňuje, že se jedná o konstantu.

Zároveň bych rád objasnil smysl použití konstanty. V příkladu jsme si vytvořili konstantu pi hlavně kvůli tomu, že ve vzorcích pro výpočet se toto číslo vyskytuje vícekrát a mnohem jednoduší než toto dlouhé desetinné číslo několikrát opisovat, je použít nějakého zástupce s touto hodnotou. Zároveň víme že pi je a vždy bude rovno 3,14 -> proto konstanta.

V příkladu se ještě vyskytuje proměnná r znázorňující poloměr kruhu. Jistě mi ale dáte za pravdu, že tuto proměnnou za konstantu volit nebudeme. Jelikož budeme chtít počítat i s jinými poloměry.

Deklarovaná a definovaná konstanta

V C++ existují 2 způsoby, jak vytvořit konstantu. Pojďme si nyní tyto způsoby ukázat.

Deklarovaná konstanta

První možností je tzv. Deklarovaná konstanta. S ní jsme se však již setkali a to v úvodní ukázce této lekce. Celá deklarace konstanty spočívá pouze v tom, že před nadeklarovanou proměnou napíšeme klíčové slovo const.

Například mějme následující proměnnou:

float danovy_zaklad;

Nyní z ní udělamáme, jak už bylo řečeno pomocí klíčového slova const, konstantu:

const float danovy_zaklad;

Definovaná konstanta

Druhým způsobem jak vytvořit konstantu je, ji tzv. definovat. Jak na to si ukážeme v následující ukázce. Pro možnost porovnání obou způsobů, použijeme opět příklad pro výpočet obvodu a obsahu kruhu:

#include <iostream>
using namespace std;
#define pi 3.141592653589793
int main()
{
  double r = 25.0;
  double obvod_kruhu = 2*pi*r;
  double obsah_kruhu = pi*r*r;
  cout << "Obvod kruhu je: " << obvod_kruhu << endl;
  cout << "Obsah kruhu je: " << obsah_kruhu << endl;
  return 0;
}

Konstanta je nyní tvořena ve tvaru:

#define nazev_konstanty hodnota
Pozor však na umístění této definice ve zdrojovém kódu! Definice konstanty není umístěna v hlavní funkci programu, ale v hlavičce programu!

Výhodou tohoto způsobu je, že není tvořena žadná proměnná a tudíž nezabírá místo v operační paměti.

C++ Návod
Úvod do C++
Volba programu
Struktura programu
Proměnné
Konstanty
Operátory
Vstup a výstup
Řídící struktury
Funkce - 1.část
Funkce - 2.část
Pole
Práce s textovými řetězci
Ukazatele - 1.část
Ukazatele - 2.část
Dynamické proměnné
Datové struktury
©2008 - 2011 Klikzone.cz
Ráj aut - inzerce nových i ojetých aut