Voltar aos Cursos
AI013 Professional

Tutorial de C++ Moderno

Este tutorial tem como objetivo fornecer aos desenvolvedores experientes uma referência rápida sobre os novos recursos do C++11/14/17/20. Ele aborda melhorias na usabilidade da linguagem, melhorias de desempenho em tempo de execução, novos contêineres, ponteiros inteligentes e gerenciamento de memória, expressões regulares, programação concorrente e uma prévia do C++20.

4.8
30.0h
318 estudantes
2 curtidas
Inteligência Artificial
Começar a Aprender

Visão Geral do Curso

📚 Resumo do Conteúdo

Este tutorial foi projetado para fornecer aos desenvolvedores experientes uma referência rápida sobre os novos recursos do C++11/14/17/20. O conteúdo abrange melhorias na usabilidade da linguagem, melhorias em tempo de execução, o uso de novos contêineres, ponteiros inteligentes e gerenciamento de memória, expressões regulares, programação concorrente e uma prévia do C++20.

Acelere seu aprendizado com o C++11/14/17/20 e entre pela porta de entrada da programação moderna em C++.

Autor: 欧长坤 (Ou Changkun)

Agradecimentos: Licenciado sob a licença CC BY-NC-ND 4.0, agradecimentos a todos os contribuidores do GitHub e à comunidade relacionada.

🎯 Objetivos de Aprendizagem

  1. Identificar e verificar o ambiente do compilador C++ e a arquitetura-alvo usando ferramentas de linha de comando.
  2. Explicar a compatibilidade padrão e a história de sobreposição entre C (C89, C99, C11) e C++ (C++98, C++1x).
  3. Implementar vinculação cruzada de linguagens funcionais usando cabeçalhos extern "C" e fluxos de compilação de múltiplos estágios.
  4. Resolver ambiguidades de ponteiros usando nullptr e implementar lógica em tempo de compilação com constexpr e if constexpr.
  5. Simplificar declarações complexas usando auto, decltype e alias de tipo (using), garantindo um design robusto orientado a objetos com override e final.
  6. Projetar código altamente genérico usando templates variádicos, expressões fold e dedução de parâmetros de template não-tipo.
  7. Definir e implementar expressões Lambda usando diversos modos de captura (Valor, Referência, Expressão e Genérico).
  8. Utilizar std::function e std::bind para criar invólucros de função flexíveis e aplicações parciais de funções.
  9. Classificar expressões em Lvalues, Prvalues e Xvalues, e aplicar Semântica de Movimentação para otimizar o gerenciamento de recursos de classe.
  10. Diferenciar os modelos de memória e casos de uso de std::array (tamanho fixo, pilha) e std::vector (tamanho dinâmico, heap).

Aulas