Sobes.tech
Junior — Middle

Quali miglioramenti sono stati introdotti nel linguaggio C++ con l'uscita dello standard C++11?

sobes.tech AI

Risposta dell'AI

Lo standard C++11 ha introdotto numerosi miglioramenti e nuove funzionalità, tra cui:

  • Inferenza automatica dei tipi (auto) — semplifica la dichiarazione delle variabili.
  • Puntatori intelligenti (std::unique_ptr, std::shared_ptr) — per una gestione sicura della memoria dinamica.
  • Espressioni lambda — permettono di scrivere funzioni anonime direttamente nel punto di utilizzo.
  • Espressioni costanti (constexpr) — calcoli a compile-time.
  • Cicli basati su intervalli (range-based for) — semplificano l’iterazione sugli elementi delle collezioni.
  • Programmazione multithread — introduzione di thread standard (std::thread), mutex e altri strumenti di sincronizzazione.
  • Semantica di movimento e riferimenti rvalue — ottimizzazione nel trasferimento delle risorse.
  • Tipi di dimensione fissa (<cstdint>) — per un controllo più preciso sui tipi.

Esempio di espressione lambda:

#include <iostream>
#include <vector>

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