Sobes.tech
Junior — Middle

Jakie ulepszenia zostały wprowadzone do języka C++ wraz z pojawieniem się standardu C++11?

sobes.tech AI

Odpowiedź od AI

Standard C++11 wprowadził wiele ulepszeń i nowych funkcji, w tym:

  • Automatyczne wyprowadzanie typów (auto) — upraszcza deklarację zmiennych.
  • Inteligentne wskaźniki (std::unique_ptr, std::shared_ptr) — do bezpiecznego zarządzania pamięcią dynamiczną.
  • Wyrażenia lambda — pozwalają pisać anonimowe funkcje bezpośrednio w miejscu użycia.
  • Wyrażenia stałe (constexpr) — obliczenia na etapie kompilacji.
  • Pętle oparte na zakresach (range-based for) — upraszczają iterację po elementach kolekcji.
  • Programowanie wielowątkowe — wprowadzenie standardowych wątków (std::thread), mutexów i innych środków synchronizacji.
  • Semantyka przesunięcia i referencje rvalue — optymalizacja przekazywania zasobów.
  • Typy o stałym rozmiarze (<cstdint>) — dla bardziej precyzyjnej kontroli nad typami.

Przykład wyrażenia lambda:

#include <iostream>
#include <vector>

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