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;
}