Junior — Middle
¿Qué mejoras se introdujeron en el lenguaje C++ con la aparición del estándar C++11?
sobes.tech AI
Respuesta de la IA
El estándar C++11 introdujo muchas mejoras y nuevas características, entre ellas:
- Inferencia automática de tipos (
auto) — simplifica la declaración de variables. - Punteros inteligentes (
std::unique_ptr,std::shared_ptr) — para gestionar de forma segura la memoria dinámica. - Expresiones lambda — permiten escribir funciones anónimas directamente en el lugar de uso.
- Expresiones constantes (
constexpr) — cálculos en tiempo de compilación. - Bucles basados en rangos (
range-based for) — simplifican la iteración sobre elementos de colecciones. - Programación multihilo — se introdujeron hilos estándar (
std::thread), mutexes y otros mecanismos de sincronización. - Semántica de movimiento y referencias rvalue — optimización en la transferencia de recursos.
- Tipos de tamaño fijo (
<cstdint>) — para un control más preciso sobre los tipos.
Ejemplo de expresión lambda:
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3, 4, 5};
int sum = 0;
std::for_each(v.begin(), v.end(), [&sum](int n) { sum += n; });
std::cout << "Suma: " << sum << std::endl;
return 0;
}