C++ Profissional: técnicas avançadas
C++ Profissional: técnicas avançadas
Resumo:
«C++ Profissional: técnicas avançadas» é um guia prático para desenvolvedores que já dominam os fundamentos da linguagem e desejam avançar para o próximo nível. O livro não reexplica a documentação, mas ensina a pensar como um engenheiro de sistemas de alta carga: gerenciar memória eficientemente, projetar arquiteturas flexíveis e escrever código rápido e confiável.
Para quem é este livro
- Desenvolvedores C/C++ com experiência de 1 ano ou mais que desejam aprofundar conhecimentos em templates e metaprogramação.
- Engenheiros migrando de sistemas embarcados para desenvolvimento de servidores ou motores de jogos.
- Programadores se preparando para entrevistas em grandes empresas de TI (Google, Yandex, JetBrains).
O que você aprenderá
- Metaprogramação com templates: SFINAE, type traits, computações constexpr, templates variádicos e conceitos C++20.
- Gerenciamento de memória e RAII: smart pointers, alocadores, pools de objetos e prevenção de vazamentos.
- Multithreading e assincronia: std::thread, std::async, mutexes, estruturas lock-free, modelos de memória.
- Otimização de desempenho: profiling, cache misses, semântica de movimento, RVO e copy elision.
- Design: CRTP, políticas, fábricas, idiom pimpl, testes unitários com Google Test.
Características da edição
- Todos os exemplos compatíveis com C++17/20 (GCC, Clang, MSVC).
- Problemas reais: desde otimização de um parser JSON até implementação de uma fila thread-safe.
- Comparação com outras linguagens (Rust, Go) para pensamento crítico.
- Capítulo sobre ferramentas: Valgrind, Perf, Sanitizers, CMake.
O livro é estruturado no princípio "do problema à solução". Cada capítulo começa com um problema real (gargalo de desempenho, dificuldade de manutenção de código) e então aborda a técnica que o resolve. Ao final dos capítulos, há exercícios para prática independente.
«C++ Profissional» não é um manual de referência, mas um guia para tópicos complexos. Após lê-lo, você será capaz de ler código de Boost, Qt e Unreal Engine sem medo, projetar bibliotecas do zero e passar com confiança em entrevistas técnicas.