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