PORTUGUESE

C++ Eficaz 55 maneiras de aprimorar seus programas e projetos

Book information

Publisher
Bookman
Year
2011
ISBN
9788577808205, 0321334876, 9780321334879
Language
portuguese
Format
PDF
Filesize
4 MB (3691547 bytes)
Edition
Terceira Edição
Pages
304\304
Time added
2021-06-29 03:39:41

Description

AUTOR AGRADECIMENTOS PREFÁCIO SUMÁRIO INTRODUÇÃO 1. ACOSTUMANDO-SE COM A LINGUAGEM C++ Item 1: Pense em C++ como um conjunto de linguagens Item 2: Prefira constantes, enumerações e internalizações a definições Item 3: Use const sempre que possível Item 4: Certifique-se de que os objetos sejam inicializados antes do uso 2. CONSTRUTORES, DESTRUTORES E OPERADORES DE ATRIBUIÇÃO Item 5: Saiba quais funções C++ escreve e chama silenciosamente Item 6: Desabilite explicitamente o uso de funções geradas pelo compilador que você não queira Item 7: Declare os construtores como virtuais em classes-base polimórficas Item 8: Impeça que as exceções deixem destrutores Item 9: Nunca chame funções virtuais durante a construção ou a destruição Item 10: Faça com que os operadores de atribuição retornem uma referência para *this Item 11: Trate as autoatribuições em operator= Item 12: Copie todas as partes de um objeto 3. GERENCIAMENTO DE RECURSOS Item 13: Use objetos para gerenciar recursos Item 14: Pense cuidadosamente no comportamento de cópia em classes de gerenciamento de recursos Item 15: Forneça acesso a recursos brutos em classes de gerenciamento de recursos Item 16: Use a mesma forma nos usos correspondentes de new e delete Item 17: Armazene objetos criados com new em ponteiros espertos em sentenças autocontidas 4. PROJETOS E DECLARAÇÕES Item 18: Deixe as interfaces fáceis de usar corretamente e difíceis de usar incorretamente Item 19: Trate o projeto de classe como projeto de tipo Item 20: Prefira a passagem por referência para constante em vez da passagem por valor Item 21: Não tente retornar uma referência quando você deve retornar um objeto Item 22: Declare os membros de dados como privados Item 23: Prefira funções não membro e não amigas a funções membro Item 24: Declare funções não membro quando as conversões de tipo tiverem de ser aplicadas a todos os parâmetros Item 25: Considere o suporte para um swap que não lance exceções 5. IMPLEMENTAÇÕES Item 26: Postergue a definição de variáveis tanto quanto possível Item 27: Minimize as conversões explícitas Item 28: Evite retornar “manipuladores” para objetos internos Item 29: Busque a criação de código seguro em relação a exceções Item 30: Entenda as vantagens e desvantagens da internalização Item 31: Minimize as dependências de compilação entre os arquivos 6. HERANÇA E PROJETO ORIENTADO A OBJETOS Item 32: Certifique-se de que a herança pública modele um relacionamento “é um(a)” Item 33: Evite ocultar nomes herdados Item 34: Diferencie a herança de interface da herança de implementação Item 35: Considere alternativas ao uso de funções virtuais Item 36: Nunca redefina uma função não virtual herdada Item 37: Nunca redefina um valor padrão de parâmetro herdado de uma função Item 38: Modele “tem um(a)” ou “é implementado(a) em termos de” com composição Item 39: Use a herança privada com bom-senso 7. TEMPLATES E PROGRAMAÇÃO GENÉRICA Item 41: Entenda as interfaces implícitas e o polimorfismo em tempo de compilação Item 42: Entenda os dois significados de typename Item 43: Saiba como acessar nomes em classes-base com templates Item 44: Fatore código independente de parâmetros a partir de templates Item 45: Use templates de funções membro para aceitar “todos os tipos compatíveis” Item 46: Defina funções não membro dentro de templates quando desejar conversões de tipo Item 47: Use classes de trait para informações sobre tipos Item 48: Fique atento à metaprogramação por templates 8. PERSONALIZANDO NEW E DELETE Item 49: Entenda o comportamento do tratador de new Item 50: Entenda quando faz sentido substituir new e delete Item 51: Adote a convenção quando estiver escrevendo new e delete Item 52: Escreva delete de posicionamento se escrever new de posicionamento 9. MISCELÂNEA Item 53: Preste atenção aos avisos do compilador Item 54: Familiarize-se com a biblioteca padrão, incluindo TR1 Item 55: Familiarize-se com Boost ÍNDICE

Similar books