Descobrindo o C++ Moderno
608 páginas
Portuguese
PDF
4.5

Descobrindo o C++ Moderno

Descobrindo o C++ Moderno

Autor:

Ano:

Resumo:

Introdução

O livro «Descobrindo o C++ Moderno» (título original Discovering Modern C++) de autoria de Peter Gottschling não é mais uma introdução à linguagem, mas sim um tutorial completo para quem já conhece os fundamentos do C++ e deseja dominar seus recursos modernos. A edição de 2021 abrange os padrões C++11, C++14, C++17 e C++20, tornando-o um dos guias mais atualizados disponíveis atualmente. O livro tem 608 páginas de material denso, mas bem estruturado.

Sobre o que é este livro?

O livro é construído como uma imersão progressiva nos mecanismos-chave do C++ moderno. O autor não perde tempo explicando a sintaxe básica (variáveis, loops, funções), mas vai direto aos tópicos que diferenciam o C++ profissional do acadêmico:

  • Ponteiros inteligentes (unique_ptr, shared_ptr, weak_ptr) e gerenciamento de memória sem vazamentos.
  • Semântica de movimentação (move semantics) e encaminhamento perfeito (perfect forwarding).
  • Expressões lambda e closures — das simples às complexas com captura de estado.
  • Templates — dos básicos aos variadic templates e SFINAE.
  • Biblioteca Padrão de Templates (STL) — contêineres, algoritmos, iteradores, objetos função.
  • Paralelismo e concorrência — std::thread, mutexes, operações atômicas, futures.
  • Novos recursos do C++17/20 — std::optional, std::variant, std::any, conceitos (concepts), corrotinas (coroutines) e ranges.
  • Desempenho — como escrever código rápido e como fazer profiling.

Para quem é este livro?

O livro é voltado para programadores que já escrevem em C++ (ou em outra linguagem compilada) e desejam migrar para os padrões modernos. Será útil para:

  • Desenvolvedores que trabalham com código legado em C++98/03 e desejam modernizá-lo.
  • Estudantes de graduação em áreas técnicas que estudam programação de sistemas.
  • Engenheiros migrando de C ou Java para C++ e que precisam de um entendimento profundo dos idiomas da linguagem.
  • Todos que se preparam para entrevistas de C++ em grandes empresas de TI (Google, Microsoft, JetBrains, etc.).

O que o leitor aprenderá?

Após a leitura, você será capaz de:

  • Escrever código seguro e eficiente usando ponteiros inteligentes e RAII.
  • Entender e aplicar semântica de movimentação para otimização de desempenho.
  • Criar algoritmos genéricos com templates e conceitos.
  • Usar lambdas para processamento conciso de dados.
  • Trabalhar com concorrência e sincronização sem condições de corrida.
  • Aplicar novos tipos do C++17/20 (optional, variant, any) para um código mais expressivo.
  • Projetar bibliotecas e APIs amigáveis ao usuário.

Pontos fortes do livro

1. Atualidade. O livro abrange padrões até C++20, incluindo novidades como corrotinas e ranges. Isso é raro mesmo entre publicações em inglês de 2021-2023.

2. Profundidade sem complexidade excessiva. O autor explica tópicos complexos (como SFINAE ou move semantics) com exemplos que podem ser executados e experimentados imediatamente. Ele não se aprofunda em meandros acadêmicos, focando na aplicação prática.

3. Estrutura. Cada capítulo começa com uma breve introdução e termina com um resumo e exercícios. Os exercícios não são "escreva uma calculadora", mas sim tarefas que testam a compreensão dos mecanismos modernos (por exemplo, implementar seu próprio unique_ptr ou escrever uma função template que funcione com qualquer contêiner).

4. Código. Todos os exemplos são compilados e testados em vários compiladores (GCC, Clang, MSVC). O autor dá dicas sobre a escolha da versão do compilador e das flags.

5. Desempenho. O livro tem muito

Recommendations