Sobes.tech
Junior — Middle

Kokius patobulinimus padarė C++ kalboje C++11 standarto atsiradimas?

sobes.tech AI

Atsakymas iš AI

C++11 standarto įvedė daugybę patobulinimų ir naujų galimybių, tarp jų:

  • Automatinis tipų išvedimas (auto) — supaprastina kintamųjų deklaravimą.
  • Protingi rodyklės (std::unique_ptr, std::shared_ptr) — saugiai valdyti dinaminę atmintį.
  • Lambda išraiškos — leidžia rašyti anonimines funkcijas tiesiogiai naudojimo vietoje.
  • Konstantinės išraiškos (constexpr) — skaičiavimai kompiliacijos metu.
  • Intervalais pagrįsti ciklai (range-based for) — supaprastina kolekcijų elementų perėjimą.
  • Daugiagijų programavimas — įdiegta standartinėms gijoms (std::thread), mutex'ams ir kitiems sinchronizacijos įrankiams.
  • Perkėlimo semantika ir rvalue nuorodos — optimizuoja išteklių perdavimą.
  • Standartiniai fiksuoto dydžio tipai (<cstdint>) — leidžia tiksliau kontroliuoti tipus.

Pavyzdys su lambda išraiška:

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