C++17 em Detalhes
C++17 em Detalhes
Resumo:
Introdução
O livro «C++17 em Detalhes» de autoria de Bartłomiej Filipek foi lançado em 2019 e imediatamente se tornou uma das fontes mais conceituadas sobre o novo padrão C++17. Não é mais um tutorial para iniciantes — é um guia técnico profundo que ajudará desenvolvedores de nível intermediário e avançado a dominar todos os principais recursos do padrão C++17 e aprender a aplicá-los na prática. O livro contém 338 páginas de informação concentrada, apoiada por exemplos de código e dicas práticas.
Sobre o que é este livro?
«C++17 em Detalhes» é dedicado a uma análise detalhada das inovações trazidas pelo padrão C++17. O autor examina sequencialmente cada recurso, começando pela linguagem e terminando com a biblioteca padrão. No livro você encontrará:
- Structured bindings — como desempacotar tuplas, pares e estruturas em variáveis separadas.
- if constexpr — compilação de ramos condicionais em tempo de compilação, permitindo escrever código de template mais eficiente e limpo.
- std::optional, std::variant, std::any — novos tipos wrapper para trabalhar com segurança com valores opcionais, alternativas e tipos dinâmicos.
- string_view — uma visão não proprietária de string, acelerando o trabalho com substrings sem cópia.
- Algoritmos paralelos — a biblioteca padrão agora suporta execução paralela de algoritmos (std::execution::par).
- Sistema de arquivos (std::filesystem) — trabalho multiplataforma com arquivos e diretórios.
- Melhorias em constexpr — agora é possível escrever funções constexpr com loops, ramificações e até alocação dinâmica de memória (limitada).
- Novos atributos — [[fallthrough]], [[maybe_unused]], [[nodiscard]] e outros.
- Simplificação de templates — deduction guides, auto em parâmetros de template, fold expressions.
Cada capítulo é construído com base no princípio "da teoria à prática": primeiro, a sintaxe e a semântica são explicadas, depois são fornecidos exemplos reais de uso e, no final, erros típicos e recomendações.
Para quem é este livro?
O livro é destinado a programadores que já têm experiência com C++ (pelo menos no nível C++11/14) e desejam dominar rápida e qualitativamente o C++17. Será útil para:
- Desenvolvedores que estão migrando de padrões mais antigos para o C++17.
- Engenheiros que escrevem sistemas de alta carga ou embarcados e desejam usar novos recursos para otimização.
- Professores e estudantes de graduação que estudam C++ moderno.
- Todos que desejam escrever código mais seguro, expressivo e eficiente.
O livro não é adequado para programadores iniciantes — é necessário um conhecimento sólido dos fundamentos de C++ (ponteiros, templates, STL) para entender o material.
O que o leitor aprenderá?
Após a leitura do livro, você será capaz de:
- Usar com confiança todas as principais inovações do C++17 no trabalho diário.
- Escrever código mais limpo e conciso com structured bindings e if constexpr.
- Aplicar std::optional e std::variant para tratamento seguro de erros e estados alternativos.
- Trabalhar com o sistema de arquivos sem bibliotecas externas.
- Acelerar algoritmos com versões paralelas da STL.
- Entender os mecanismos internos dos novos tipos e saber evitar armadilhas.
- Preparar-se para a transição para o C++20, pois muitos recursos do C++17 são a base para padrões futuros.
Pontos fortes do livro
1. Profundidade e estrutura. O autor não apenas lista os recursos, mas explica por que foram adicionados, quais problemas resolvem e como aplicá-los corretamente. Cada capítulo contém uma seção "Common pitfalls" (erros típicos), o que é muito valioso para o desenvolvedor prático.
2. Orientação prática.