Programa do Curso
- O que é um Sistema Embarcado?
- Definição Simples
- Alguns Marcos Importantes
- Características
- Por que usar C++?
- Comparação com o C
- C: Um subconjunto do C++ – quase
- Desempenho
- Funcionalidades Adicionais "Gratuitas"
- Por que não usar C++?
- Classes
- Variáveis de Membro
- Variáveis de instância
- Variáveis de classe
- Funções de Membro
- Funções de instância
- Funções de classe
- Métodos Implícitos
- Construtor
- Inicialização
- Delegação
- Destrutor
- Operador de atribuição de cópia
- Construtor
- Semânticas de Movimentação – evitando cópias profundas desnecessárias
- struct no C++
- Pacote/Espaço de Nomes (Namespace)
- Variáveis de Membro
- Herança
- Introdução
- Implementação
- Desempenho
- Herança Múltipla
- Herança Virtual
- Polimorfismo
- Introdução
- Função Virtual
- Destrutor Virtual
- Implementação
- Informações de Tipo em Tempo de Execução (RTTI)
- Desempenho
- Templates
- Introdução
- Template de Função
- Template de Classe
- Templates Variádicos
- Inchaço de Código (Code Bloat)
- Estratégias de Implementação
- Programação Meta de Templates (Template Meta Programming)
- Template versus Herança?
- Tratamento de Erros
- Manuseio de Exceções
- Questões de Desempenho
- Implementação
- Código Inline
- Quando Utilizar?
- Estratégias
- Inicialização
- Inicialização do Sistema
- A Parte do C
- A Parte do C++
- Biblioteca Padrão
- Biblioteca de Modelos Padrão (STL)
- Biblioteca iostream
- Principais extensões feitas na STL devido ao C++11:
- Semânticas de Movimentação
- Templates Variádicos
- Concorrência
- Gerenciamento de Memória
- O Modelo de Memória do C++
- Os tipos stdint
- Tipos atômicos e suas operações
- Estratégias
- Variáveis
- Alocação com new posicional (placement new)
- Gerenciamento de Memória Definido pelo Usuário
- O Modelo de Memória do C++
- Interoperabilidade entre C e C++
- Mangling de Nomes
- Inicialização Estática
- Alocação Dinâmica
- Conteúdo de struct
- POD – Tipo de Dados Simples (Plain Old Data)
- Padrões de Design
- RAII – Aquisição de Recursos é Inicialização (Resource Acquisition Is Initialization)
- E/S Mapeada em Memória
- Interrupção
- Inicialização de Objetos Estáticos
Requisitos
Não há requisitos específicos necessários para participar deste curso.
Testemunhos de Clientes (3)
Explicação detalhada, reiteração dos pontos de uma maneira sutil que realmente consolidou o conhecimento muito bem. A disposição do Rod em revisar as perguntas mais obscuras que levantamos, para garantir que suas respostas fossem 100% corretas. Além disso, seu interesse em discutir os prós e contras de estilos de codificação alternativos, para que aprendêssemos não apenas como usar o C++ da maneira pretendida, mas também por quê.
Nick Dillon - cellxica Ltd
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Máquina Traduzida
Aproveitei o tempo alocado para resolvermos os exercícios. Isso foi muito útil, pois nos permitiu dedicar algum tempo pensando em nossas soluções e implementando-as.
Valeriu - Siemens
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Máquina Traduzida
Os detalhes sobre como o compilador se comporta dependendo da sintaxe usada. As seções de "Quiz" são muito estimulantes.
Andrea Pomatto
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Máquina Traduzida