Uživatelské nástroje

Nástroje pro tento web


cplusplus

C++

C++ je víceparadigmatický jazyk, což znamená, že podporuje procedurální, objektově orientované i generické programování. Jeho mottem je: „Platíte jen za to, co skutečně používáte“ (Zero-overhead principle).

Hlavní vlastnosti

  • Výkon: Díky kompilaci přímo do strojového kódu a absenci Garbage Collectoru patří k nejrychlejším jazykům.
  • Správa paměti: Programátor má plnou kontrolu nad alokací a uvolňováním paměti (pomocí operátorů new/delete nebo moderních Smart Pointers).
  • Standardní knihovna (STL): Obsahuje hotové datové struktury (vektory, mapy) a algoritmy, které jsou vysoce optimalizované.
  • Zpětná kompatibilita: Většina kódu napsaného v jazyce C je platným kódem i v C++.

Evoluce jazyka (Moderní C++)

Staré C++ bylo často kritizováno pro svou nebezpečnost. Od verze C++11 se však jazyk zásadně změnil:

  • C++11/14: Přidalo klíčové slovo auto, Lambda funkce a chytré ukazatele (unique_ptr, shared_ptr), které řeší úniky paměti.
  • C++17/20: Přineslo koncepty (Concepts), moduly (Modules) a korutiny, které zjednodušují psaní složitých systémů.

Kde se C++ používá?

Díky své rychlosti a kontrole dominuje C++ v těchto oblastech:

1. **Herní průmysl:** Unreal Engine a většina AAA her jsou napsány v C++.
2. **Operační systémy:** Jádra Windows a části macOS/[[Linux]]u.
3. **GUI Frameworky:** Například [[Qt]], který umožňuje tvorbu moderních aplikací.
4. **Finanční systémy:** High-frequency trading (HFT) platformy, kde záleží na mikrosekundách.
5. **Vědecké výpočty a AI:** Knihovny jako TensorFlow nebo OpenCV mají jádro v C++.

Příklad kódu: Třída a objekt

#include <iostream>
#include <string>

class Robot {
public:
    std::string jmeno;
    
    void pozdrav() {
        std::cout << "Ahoj, ja jsem " << jmeno << "!" << std::endl;
    }
};

int main() {
    Robot mujRobot;
    mujRobot.jmeno = "R2-D2";
    mujRobot.pozdrav();
    return 0;
}

Srovnání: C++ vs. Rust

Dnes je C++ často srovnáváno s novějším jazykem Rust:

Vlastnost C++ Rust
Bezpečnost paměti Na zodpovědnosti programátora. Zajištěna kompilátorem (Borrow Checker).
Rychlost Extrémní. Srovnatelná s C++.
Ekosystém Obrovský, 40+ let historie. Moderní, rychle rostoucí.
Učení Velmi strmá křivka učení. Náročné na pochopení pravidel vlastnictví.

Víte, že? Název C++ je vtipem programátorů. Operátor ++ v jazyce C znamená zvýšení hodnoty o 1. C++ je tedy „C zvýšené o jedna“ (další krok evoluce).

Související: Qt, Assembly Language, glibc, Linux

cplusplus.txt · Poslední úprava: autor: admin