Curso de Programação Modern C++
(github.com/federico-busato)- Este curso é voltado para pessoas que já estão familiarizadas com C e programação orientada a objetos, e tem como objetivo aumentar a proficiência em programação C++
- Abrange desde os fundamentos da programação C++ até semântica e conceitos avançados de C++
- É gratuito, atualizado com frequência, inclui conceitos e recursos dos padrões mais recentes da linguagem e adota uma abordagem de ensino prática
Principais conteúdos de cada capítulo
- Conceitos básicos : explicação dos tipos básicos do C++, operadores, regras de conversão, gerenciamento de memória, funções e pré-processamento.
- Programação orientada a objetos : compreensão dos conceitos de classe, herança, polimorfismo e sobrecarga de operadores.
- Templates e metaprogramação : exploração aprofundada de templates de função e classe, utilitários em tempo de compilação e SFINAE.
- Unidades de tradução : explicação sobre linkage, One Definition Rule e formas de lidar com múltiplas unidades de tradução.
- Convenções de código : orientações sobre organização de projetos e principais convenções de código.
- Ecossistema : informações sobre depuração, testes, Cmake, documentação e outras ferramentas.
- Utilitários : visão geral das principais bibliotecas
std, contêineres, iteradores e algoritmos. - Tópicos avançados : estudo aprofundado de semântica de movimento, inferência de tipos, smart pointers e concorrência.
- Otimização : estratégias sobre conceitos básicos, otimização de código, otimização sem código e benchmarking.
Opinião do GN⁺
Este curso cobre todos os aspectos da programação C++, incluindo os padrões mais recentes da linguagem, sendo um material essencial para que engenheiros de software iniciantes evoluam até um nível profissional. A abordagem prática baseada em casos reais oferece conhecimento aplicável aos alunos, o que é muito útil para aprimorar suas habilidades de programação.
1 comentários
Comentários no Hacker News
O criador deste curso é líder de equipe na NVIDIA e principal engenheiro de software do CUDA cuSPARSE
Obtive grande sucesso usando o ChatGPTv4 para escrever código moderno em C++ compatível com CUDA
std::*para escrever código mais flexível.Voltei ao C++ após uma longa pausa, e versões recentes como C++17 são boas o suficiente, mas o suporte a Unicode deixa a desejar
Como desenvolvedor embarcado, estou procurando bons materiais para começar a aprender C++
Gostaria de saber se alguém pode comparar este curso com o learncpp.com
É adequado para reaprender técnicas de C esquecidas da época da faculdade, mas faltam mais exercícios práticos de programação
Acho difícil aprender só com slides
Smart pointers não deveriam ser considerados um "tópico avançado" em C++
newedeletetambém é importante, mas que, na prática, é mais desejável usarunique_ptroushared_ptr.Tenho dúvidas se é mesmo necessário usar new/delete no C++ moderno
Pede que expliquem como ler a seção de regras de conversão