Sobes.tech
Junior — Middle

Jaká vylepšení byla provedena v jazyce C++ s příchodem standardu C++11?

sobes.tech AI

Odpověď od AI

Standard C++11 přinesl mnoho vylepšení a nových funkcí, mezi něž patří:

  • Automatické odvozování typů (auto) — zjednodušuje deklaraci proměnných.
  • Chytré ukazatele (std::unique_ptr, std::shared_ptr) — pro bezpečné řízení dynamické paměti.
  • Lambda výrazy — umožňují psát anonymní funkce přímo na místě použití.
  • Konstantní výrazy (constexpr) — výpočty při kompilaci.
  • Cyklus založený na rozsahu (range-based for) — zjednodušují iteraci přes prvky kolekcí.
  • Multithreadové programování — zavedení standardních vláken (std::thread), mutexů a dalších synchronizačních prostředků.
  • Semantika přesunu a rvalue odkazy — optimalizace přenosu zdrojů.
  • Standardní typy pevné velikosti (<cstdint>) — pro přesnější kontrolu nad typy.

Příklad lambda výrazu:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> v = {1, 2, 3, 4, 5};
    int soucet = 0;
    std::for_each(v.begin(), v.end(), [&soucet](int n) { soucet += n; });
    std::cout << "Součet: " << soucet << std::endl;
    return 0;
}