Sobes.tech
Junior — Middle

Aké vylepšenia boli zavedené do jazyka C++ s príchodom štandardu C++11?

sobes.tech AI

Odpoveď od AI

Štandard C++11 priniesol mnoho vylepšení a nových funkcií, medzi ktoré patria:

  • Automatické odhadovanie typu (auto) — zjednodušuje deklaráciu premenných.
  • Inteligentné ukazovatele (std::unique_ptr, std::shared_ptr) — pre bezpečné riadenie dynamickej pamäte.
  • Lambda výrazy — umožňujú písanie anonymných funkcií priamo na mieste použitia.
  • Konštantné výrazy (constexpr) — výpočty počas kompilácie.
  • Cyklus založený na rozsahu (range-based for) — zjednodušuje prechádzanie prvkami kolekcií.
  • Multithreadové programovanie — zavedenie štandardných vlákien (std::thread), mutexov a ďalších synchronizačných prostriedkov.
  • Semantika presunu a rvalue odkazov — optimalizácia pri prenose zdrojov.
  • Štandardné typy s pevnou veľkosťou (<cstdint>) — pre presnejšiu kontrolu nad typmi.

Príklad lambda výrazu:

#include <iostream>
#include <vector>

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