Sobes.tech
Junior — Middle

Koje su poboljšanja uvedena u jezik C++ sa pojavom standarda C++11?

sobes.tech АИ

Одговор од АИ

Standard C++11 uveo je mnoge poboljšanja i nove funkcije, uključujući:

  • Automatsko izvođenje tipova (auto) — pojednostavljuje deklaraciju promenljivih.
  • Pametni pokazivači (std::unique_ptr, std::shared_ptr) — za sigurnu upravljanje dinamičkom memorijom.
  • Lambda izrazi — omogućavaju pisanje anonimnih funkcija direktno na mestu korišćenja.
  • Konstantni izrazi (constexpr) — računanja u fazi kompajliranja.
  • Petlje zasnovane na opsegu (range-based for) — pojednostavljuju prolazak kroz elemente kolekcija.
  • Multithread programiranje — uvođenje standardnih niti (std::thread), mutexa i drugih sredstava za sinhronizaciju.
  • Semantika prenosa i rvalue referenci — optimizacija prenosa resursa.
  • Standardni tipovi fiksne veličine (<cstdint>) — za precizniju kontrolu nad tipovima.

Primer lambda izraza:

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