Este livro constitui o segundo duma série de três volumes que trata
pedagogicamente os tópicos referentes ao desenvolvimento de aplicações em
linguagem C++, assumindo que os leitores dominam a linguagem C++ ao nível que
foi abordada no primeiro volume.
Destina-se a ser usado como manual para uma segunda disciplina de
programação, disciplinas de algoritmos e estruturas de dados ou para quem
pretenda aprender a programar como autodidacta. Pode também ser utilizado por
programadores experimentados noutras linguagens, para se familiarizarem com a
linguagem C++, com os componentes da biblioteca standard ANSI/ISO e com o
Paradigma de Programação Genérica em que ela se suporta.
O tratamento do tema cobre a generalidade dos componentes da biblioteca STL (Standard
Template Library).
Principais Tópicos

  • Sobrecarga de operadores
    Optimização de desempenho, idioma handle/body, apontadores inteligentes.
  • Templates de classes e de funções
    Especialização de templates, traits.
  • Derivação e polimorfismo
    Contentores sequenciais
    vector, list, deque, stack, queue, priorty_queue.
  • Estruturas em árvore
    ABP, Huffman, B-Tree, Red-Black.
  • Contentores associativos
    set, multiset, map, multimap, hashSet, hashMultiset, hashMap, hashMultimap.
  • Componentes da biblioteca STL
    Iteradores, algoritmos, contentores, objectos função, allocators.
    INDICE
    1. Complementos sobre classes
    Introdução
    Sobrecarga (overload) de operadores
    Coerção de tipos-classe
    Métodos especiais das classes
    Sobrecarga do operador Indexação
    Sobrecarga do operador desreferência
    Sobrecarga do operador chamada a função
    Resumo
    Exercícios
    2. Optimização de desempenho
    Introdução
    Classe String
    Classe Bigint
    Classe Fraction
    Resumo
    Exercícios
    3. Templates e derivação
    Introdução
    Templates de classes e de funções
    Derivação de classes e métodos virtuais
    Resumo
    Exercícios
    4. Contentores sequenciais
    Introdução
    Generalidades
    Template de classes allocator
    Template de classes Container
    Template de classes vector
    Template de classes list
    Template de classes deque
    Ring buffer
    Resumo
    Exercícios
    5. Árvores Binárias
    Introdução
    Árvore binária de pesquisa (ABP)
    Árvores binárias organizadas em heap
    Adaptador sequencial priority_queue
    Árvores Huffman
    Resumo
    Exercícios
    6. Árvores Balanceadas
    Introdução
    Estruturas B-Tree - (árvores de Bayer)
    Implementação de B-Tree em memória
    Árvores red-black
    Implementação de B-Tree em stream
    Resumo
    Exercícios
    7. Contentores associativos
    Introdução
    Contentores associativos standard
    Tabelas hash
    Compactador de dados com dicionário
    Resumo
    Exercícios
    8. Biblioteca STL
    Introdução
    Descrição genérica da Biblioteca C++
    Iteradores
    Utilitários gerais
    Objectos função
    Allocator standard e auto_ptr
    Contentores
    Algoritmos
    Aplicação da STL
    Resumo
    Exercícios