C++ Primer (5ª edição)
976 páginas
Portuguese
PDF
4.5

C++ Primer (5ª edição)

C++ Primer (5ª edição)

Autor:

Ano:

Resumo:

Introdução

O livro «C++ Primer» (5ª edição) de Stanley Lippman, Josée Lajoie e Barbara Moo não é apenas mais um livro didático sobre a linguagem C++. É um trabalho fundamental que, ao longo de muitos anos, continua sendo um dos guias mais autoritários e recomendados para aprender C++ moderno. Publicada em 2012, a quinta edição foi completamente revisada para refletir o padrão C++11, que trouxe muitas inovações importantes para a linguagem: expressões lambda, ponteiros inteligentes, semântica de movimento, novos contêineres e muito mais. O volume do livro – quase 1000 páginas – fala por si: você tem diante de si uma fonte abrangente de conhecimento que cobre a linguagem desde o básico até tópicos avançados.

Sobre o que é este livro

«C++ Primer» é estruturado como um curso sequencial de aprendizado. Os autores começam com o básico: tipos de dados, variáveis, expressões, estruturas de controle. Em seguida, passam gradualmente para funções, classes, sobrecarga de operadores, herança e polimorfismo. Atenção especial é dada à biblioteca padrão (STL): contêineres (vector, map, set, etc.), iteradores, algoritmos e a classe de strings. Capítulos separados são dedicados à manipulação de arquivos, tratamento de exceções, templates (incluindo templates variádicos) e multithreading. Cada tópico é ilustrado com muitos exemplos de código que podem ser testados imediatamente na prática.

Para quem é este livro

O livro é voltado para programadores iniciantes que já possuem habilidades básicas em alguma outra linguagem (por exemplo, Java, Python ou C#). Para iniciantes completos que nunca programaram, será difícil – os autores presumem que o leitor está familiarizado com conceitos básicos (loops, arrays, funções). Ao mesmo tempo, desenvolvedores experientes em C++ encontrarão muito material útil no livro: explicações aprofundadas dos recursos do C++11, detalhes sobre gerenciamento de memória, regras de dedução de tipos, semântica de movimento e domínio perfeito da biblioteca padrão.

O que o leitor aprenderá

  • Fundamentos da linguagem: tipos de dados, variáveis, expressões, operadores, estruturas de controle.
  • Funções e sobrecarga: declaração, passagem de argumentos, retorno de valores, sobrecarga de funções.
  • Classes e objetos: definição de classes, construtores, destrutores, cópia, movimento, funções friend.
  • Sobrecarga de operadores: como sobrecarregar operadores corretamente para tipos definidos pelo usuário.
  • Herança e polimorfismo: classes base e derivadas, funções virtuais, classes abstratas.
  • Templates: templates de funções e classes, templates variádicos, especialização.
  • Biblioteca padrão: contêineres (vector, list, map, unordered_map), iteradores, algoritmos, strings, fluxos de entrada/saída.
  • Gerenciamento de memória: alocação dinâmica, ponteiros inteligentes (shared_ptr, unique_ptr), semântica de movimento.
  • Tratamento de exceções: try, catch, throw, garantias de segurança de exceções.
  • Multithreading: threads, mutexes, variáveis de condição, operações atômicas.

Pontos fortes

A primeira e principal vantagem é a profundidade e precisão da exposição. Os autores não apenas listam construções sintáticas, mas explicam por que a linguagem é estruturada dessa forma e quais problemas cada recurso resolve. A segunda é a enorme quantidade de exemplos de qualidade. Cada exemplo pode ser copiado e compilado, eles realmente funcionam e demonstram padrões corretos. A terceira é a estrutura do livro: cada capítulo termina com um breve resumo e exercícios (com respostas no final do livro), permitindo consolidar o material. Finalmente, o livro é escrito em uma linguagem viva e clara, apesar da complexidade técnica do tema.

Para quem é recomendado

Recommendations