Ukazatele vs Reference

V C++ máme dva způsoby, jak pracovat s adresami proměnných: ukazatele a reference. Oba přístupy mají své výhody a specifické použití.

Ukazatele (Pointers)

int cislo = 42;
int* ukazatel = &cislo;  // Ukazatel na cislo
*ukazatel = 10;         // Změna hodnoty přes ukazatel
ukazatel = nullptr;      // Ukazatel může být prázdný

Ukazatele:

  • Mohou být prázdné (nullptr)
  • Mohou být přesměrovány na jinou proměnnou
  • Vyžadují operátor * pro přístup k hodnotě
  • Mohou provádět aritmetické operace (např. pole)

Reference (References)

int cislo = 42;
int& reference = cislo;  // Reference na cislo
reference = 10;         // Přímý přístup k hodnotě
// reference nemůže být prázdná ani změnit cíl

Reference:

  • Musí být inicializovány při vytvoření
  • Nemohou být prázdné
  • Nemohou změnit na co odkazují
  • Používají se jako normální proměnné

Kdy co použít?

  • Ukazatele: Když potřebujeme možnost změnit cíl nebo pracovat s nullptr
  • Reference: Když víme, že vždy budeme pracovat s platnou proměnnou

Reference jsou bezpečnější (nemohou být nullptr), ale méně flexibilní. Ukazatele jsou mocnější, ale vyžadují opatrnější zacházení. Ve většině případů doporučujeme používat reference.

Pokyny

Spusťte program a pozorujte výstup.

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

4/5

Ukazatele vs Reference | Start Coder