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