Programa do Curso
- O que é um Sistema Embarcado?
- Definição Simples
- Alguns Marcos
- Características
- Por que usar C++?
- Comparação com C
- C: Um subconjunto do C++ – quase
- Desempenho
- Funcionalidade “Gratuita” Adicionada
- Por que não usar C++?
- Classes
- Variáveis Membro
- Variáveis de Instância
- Variáveis de Classe
- Funções Membro
- Funções de Instância
- Funções de Classe
- Métodos Implícitos
- Construtor
- Inicialização
- Delegação
- Destruítor
- Operador de Atribuição de Cópia
- Construtor
- Semântica de Movimento (Move Semantics) – evitando cópias profundas desnecessárias
- struct no C++
- Pacote/Espaço de Nomes (Package/Namespace)
- Variáveis Membro
- Herança
- Introdução
- Implementação
- Desempenho
- Herança Múltipla
- Herança Virtual
- Polimorfismo
- Introdução
- Função Virtual
- Destruítor Virtual
- Implementação
- Informação 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
- Meta-programação com Templates
- Template versus Herança?
- Tratamento de Erros
- Tratamento de Exceções
- Problemas de Desempenho
- Implementação
- Código Inline
- Quando Usar?
- Estratégias
- Inicialização (Start-up)
- Inicialização do Sistema
- A Parte C
- A Parte C++
- Biblioteca Padrão
- Biblioteca de Templates Padrão, STL
- Biblioteca iostream
- Principais extensões feitas na STL devido ao C++11:
- Semântica de Movimento
- Templates Variádicos
- Concorrência
- Gerenciamento de Memória
- O Modelo de Memória do C++
- Tipos stdint
- Tipos Atômicos e suas operações
- Estratégias
- Variáveis
- Placement new
- Gerenciamento de Memória Definido pelo Usuário
- O Modelo de Memória do C++
- Interoperabilidade entre C e C++
- Manipulação de Nomes (Name Mangling)
- Inicialização Estática
- Memória Dinâmica
- Conteúdo de Struct
- POD – Tipo de Dados Simples e Antigo (Plain Old Data)
- Padrões de Projeto
- RAII – Aquisição de Recurso é Inicialização
- I/O Mapeado 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