cplusplus
Obsah
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/deletenebo 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
