Exceptional C++
240 páginas
Portuguese
PDF
4.5

Exceptional C++

Exceptional C++

Autor:

Ano:

Resumo:

Introdução

O livro «Exceptional C++» (1999) de Herb Sutter não é um tutorial para iniciantes, mas uma coleção de 50 problemas de engenharia que farão você realmente refletir sobre como escreve código em C++. Em um mundo onde a confiabilidade do software é mais valorizada do que a velocidade de escrita, este livro continua sendo um padrão de compreensão profunda da linguagem. Sutter não apenas dá respostas — ele ensina a pensar em termos de situações excepcionais, gerenciamento de recursos e design de interfaces resistentes a erros.

Apesar de o livro ter sido lançado há mais de 20 anos, suas ideias (RAII, garantias de exceções, ponteiros inteligentes) tornaram-se a base do C++ moderno (C++11 e posteriores). Se você quer parar de temer exceções e começar a escrever código que não "quebra" no momento mais inoportuno — este livro é para você.

Sobre o que é o livro

«Exceptional C++» é estruturado no formato "pergunta-resposta" (problema — solução — análise). Cada capítulo é um aspecto diferente da programação confiável:

  • Exceções e segurança: como escrever funções que não vazam recursos e deixam os objetos em um estado consistente mesmo quando ocorrem erros.
  • RAII (Resource Acquisition Is Initialization): por que esta é a principal expressão idiomática do C++ e como aplicá-la para gerenciar memória, arquivos, mutexes.
  • Templates e programação genérica: detalhes de instanciação, especialização parcial, SFINAE.
  • Herança e polimorfismo: como projetar hierarquias de classes corretamente para não violar o princípio da substituição de Liskov.
  • Gerenciamento de memória: operadores new/delete, placement new, sobrecarga de operadores.
  • Design de interfaces: como criar uma API que seja difícil de usar incorretamente.

Para quem é este livro

O livro é direcionado a programadores C++ que já têm experiência (no mínimo 1-2 anos de desenvolvimento ativo). Será útil para:

  • Desenvolvedores que querem escrever código de produção confiável.
  • Aqueles que se preparam para entrevistas técnicas (os problemas do livro aparecem frequentemente no Google, Microsoft, Yandex).
  • Professores e mentores que procuram exemplos para discutir em seminários.
  • Todos que querem entender o "porquê" por trás das expressões idiomáticas padrão do C++, e não apenas o "como".

O que o leitor aprenderá

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

  • Formular e verificar garantias de exceções (básica, forte, nothrow) para suas funções.
  • Usar corretamente std::auto_ptr (e seus equivalentes modernos unique_ptr/shared_ptr) para gerenciamento automático de recursos.
  • Evitar armadilhas ao sobrecarregar operadores (especialmente operator= e operator[]).
  • Projetar classes que funcionam corretamente em contêineres STL.
  • Entender quando e como usar mutable, volatile, const_cast sem prejudicar a arquitetura.
  • Escrever funções template que não explodem ao substituir tipos inadequados (SFINAE).
  • Implementar a expressão idiomática copy-and-swap para atribuição segura.

Pontos fortes

  • Profundidade e praticidade. Cada problema é uma questão real da experiência do autor. Você não encontrará exemplos abstratos como "gato-cachorro".
  • Formato "pergunta-resposta". Pode ser lido a partir de qualquer capítulo. Ideal para "pausas rápidas" — 15 minutos por problema.
  • Foco no "porquê". Sutter explica não apenas a solução correta, mas também a motivação: por que outras opções são ruins, quais compromissos existem.
  • Estilo de escrita. Vivo, com uma pitada de humor e autoironia. O livro não se parece com um manual seco.
  • Valor atemporal. Mesmo na era do C++20/23, os princípios de RAII e segurança contra exceções permanecem inalterados. O livro ensina os fundamentos que não se tornam obsoletos.

Para quem é recomendado

Recommendations