Úvod ukazatelů
V této kapitole se seznámíme s ukazateli (pointery) v C++. Ukazatele jsou jedním z nejdůležitějších, ale také nejobávanějších konceptů v C++. Nebojte se, společně je zvládneme!
Představte si následující situaci: Máte velký soubor dat (třeba video) a chcete ho předat funkci ke zpracování. Máte dvě možnosti:
- Vytvořit kopii celého souboru a tu předat funkci
- Předat funkci pouze informaci o tom, kde se soubor nachází v paměti
První možnost je jako poslat kamarádovi celé video přes messenger. Druhá možnost je jako poslat mu pouze odkaz na video na YouTube. Je zřejmé, že druhá možnost je efektivnější - a přesně k tomu slouží ukazatele!
Ukazatel je proměnná, která obsahuje adresu jiné proměnné v paměti počítače. Je to jako GPS souřadnice, které ukazují na konkrétní místo. Podívejme se na jednoduchý příklad:
#include <iostream>
int main() {
int cislo = 42; // Běžná proměnná
int* ukazatel = &cislo; // Ukazatel na tuto proměnnou
std::cout << "Hodnota čísla: " << cislo << std::endl;
std::cout << "Adresa čísla: " << ukazatel << std::endl;
std::cout << "Hodnota na adrese: " << *ukazatel << std::endl;
return 0;
}
Tento program vytvoří proměnnou cislo
s hodnotou 42 a ukazatel ukazatel
, který ukazuje na tuto proměnnou. Symbol &
získá adresu proměnné a operátor *
nám umožní přistoupit k hodnotě na dané adrese.
Ukazatele jsou základem pro:
- Efektivní práci s pamětí
- Dynamickou alokaci paměti
- Předávání velkých dat funkcím
- Vytváření složitých datových struktur (např. spojové seznamy)
V následujících cvičeních se naučíme s ukazateli pracovat a využívat jejich sílu!
Pokyny
Spusťte program a podívejte se na výstup. Všimněte si, že adresa v paměti nám lidem toho moc neřekne. Až budete připraveni, přejděte na další cvičení!
Začněte programovat zdarma
1/5