Sobes.tech
Junior — Middle

Ce îmbunătățiri au fost aduse limbajului C++ odată cu apariția standardului C++11?

sobes.tech AI

Răspuns de la AI

Standardul C++11 a introdus numeroase îmbunătățiri și noi funcționalități, printre care:

  • Inferența automată a tipurilor (auto) — simplifică declararea variabilelor.
  • Pointeri inteligenți (std::unique_ptr, std::shared_ptr) — pentru gestionarea sigură a memoriei dinamice.
  • Expresii lambda — permit scrierea funcțiilor anonime direct în locul de utilizare.
  • Expresii constante (constexpr) — calcule în timpul compilării.
  • Buclă bazată pe intervale (range-based for) — simplifică parcurgerea elementelor colecțiilor.
  • Programare multithread — introducerea firelor de execuție standard (std::thread), mutexuri și alte mijloace de sincronizare.
  • Semantica de mutare și referințe rvalue — optimizare în transferul resurselor.
  • Tipuri de dimensiune fixă (<cstdint>) — pentru un control mai precis asupra tipurilor.

Exemplu de expresie 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 << "Sumă: " << suma << std::endl;
    return 0;
}