Junior — Middle
Ce îmbunătățiri au fost aduse limbajului C++ odată cu apariția standardului C++11?
sobes.tech AI
Răspuns de la AI
Standardul C++11 a introdus numeroase îmbunătățiri și noi funcționalități, printre care:
- Inferența automată a tipurilor (
auto) — simplifică declararea variabilelor. - Pointeri inteligenți (
std::unique_ptr,std::shared_ptr) — pentru gestionarea sigură a memoriei dinamice. - Expresii lambda — permit scrierea funcțiilor anonime direct în locul de utilizare.
- Expresii constante (
constexpr) — calcule în timpul compilării. - Buclă bazată pe intervale (
range-based for) — simplifică parcurgerea elementelor colecțiilor. - Programare multithread — introducerea firelor de execuție standard (
std::thread), mutexuri și alte mijloace de sincronizare. - Semantica de mutare și referințe rvalue — optimizare în transferul resurselor.
- Tipuri de dimensiune fixă (
<cstdint>) — pentru un control mai precis asupra tipurilor.
Exemplu de expresie lambda:
#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 << "Sumă: " << suma << std::endl;
return 0;
}