Sobes.tech
Junior — Middle

Milyen fejlesztések történtek a C++ nyelvben a C++11 szabvány megjelenésével?

sobes.tech MI

Válasz az MI-től

A C++11 szabvány számos fejlesztést és új funkciót vezetett be, többek között:

  • Automatikus típuskitalálás (auto) — egyszerűsíti a változók deklarálását.
  • Intelligens mutatók (std::unique_ptr, std::shared_ptr) — biztonságos dinamikus memória kezelést tesz lehetővé.
  • Lambda kifejezések — lehetővé teszik névtelen függvények közvetlen írását a használati helyen.
  • Állandó kifejezések (constexpr) — fordítási időben történő számítások.
  • Tartomány-alapú ciklusok (range-based for) — egyszerűsítik a kollekciók elemein való iterálást.
  • Többszálú programozás — bevezették a szabványos szálakat (std::thread), mutexeket és más szinkronizációs eszközöket.
  • Mozgási szemantika és rvalue hivatkozások — optimalizálják az erőforrások átadását.
  • Állandó méretű típusok (<cstdint>) — pontosabb típuskontrollt tesznek lehetővé.

Lambda kifejezés példája:

#include <iostream>
#include <vector>

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