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