Sobes.tech
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;
}