Junior — Middle
Que melhorias foram introduzidas na linguagem C++ com o aparecimento do padrão C++11?
sobes.tech IA
Resposta da IA
O padrão C++11 trouxe muitas melhorias e novas funcionalidades, incluindo:
- Inferência automática de tipos (
auto) — simplifica a declaração de variáveis. - Ponteiros inteligentes (
std::unique_ptr,std::shared_ptr) — para gestão segura de memória dinâmica. - Expressões lambda — permitem escrever funções anônimas diretamente no local de uso.
- Expressões constantes (
constexpr) — cálculos em tempo de compilação. - Laços baseados em intervalos (
range-based for) — simplificam a iteração sobre elementos de coleções. - Programação multithread — introdução de threads padrão (
std::thread), mutexes e outros mecanismos de sincronização. - Semântica de movimento e referências rvalue — otimização na transferência de recursos.
- Tipos de tamanho fixo (
<cstdint>) — para controle mais preciso sobre os tipos.
Exemplo de expressão 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 << "Soma: " << sum << std::endl;
return 0;
}