Temario del curso
- ¿Qué es un sistema embebido?
- Definición simple
- Hitos importantes
- Características
- ¿Por qué utilizar C++?
- Comparación con CL
- C: un subconjunto de C++, casi completamente
- Rendimiento
- Nuevas funcionalidades «gratuitas» añadidas
- ¿Por qué no usar C++?
- Clases
- Miembros de datos (variables)
- Variables de instancia
- Variables de clase
- Métodos (funciones)
- Métodos de instancia
- Métodos de clase
- Métodos implícitos
- Constructor
- Inicialización
- Delegación
- Destructor
- Operador de asignación por copia
- Constructor
- Semántica de movimiento: evitar copias profundas innecesarias
- Estructura (struct) en C++
- Paquetes/Espacios de nombres
- Miembros de datos (variables)
- Herencia
- Introducción
- Implementación
- Rendimiento
- Herencia múltiple
- Herencia virtual
- Polimorfismo
- Introducción
- Métodos virtuales
- Destructor virtual
- Implementación
- Información de tipo en tiempo de ejecución (RTTI)
- Rendimiento
- Plantillas
- Introducción
- Plantilla de función
- Plantilla de clase
- Plantillas variádicas
- Inflado de código (code bloat)
- Estrategias de implementación
- Metaprogramación de plantillas
- ¿Plantillas o herencia?
- Gestión de errores
- Gestión de excepciones
- Cuestiones de rendimiento
- Implementación
- Código inline
- ¿Cuándo utilizarlo?
- Estrategias
- Inicialización
- Inicialización del sistema
- Parte de C
- Parte de C++
- Biblioteca estándar
- Biblioteca de plantillas estándar (STL)
- Biblioteca iostream
- Principales extensiones realizadas en la STL debido a C++11:
- Semántica de movimiento
- Plantillas variádicas
- Concurrencia
- Gestión de memoria
- Modelo de memoria de C++
- Tipos stdint
- Tipos atómicos y sus operaciones
- Estrategias
- Variables
- Colocación de nuevos objetos (placement new)
- Gestión de memoria definida por el usuario
- Modelo de memoria de C++
- Interoperación entre C y C++
- Name mangling (demangling)
- Inicialización estática
- Memoria dinámica
- Contenido de struct
- POD: «Plain Old Data» (tipo de datos simples)
- Patrones de diseño
- RAII: Resource Acquisition Is Initialization (Adquisición de recursos es inicialización)
- E/S mapeada en memoria
- Interrupciones
- Inicialización de objetos estáticos
Requerimientos
No existen requisitos específicos para asistir a este curso.
Testimonios (3)
Explicación detallada, reiteración de los puntos de manera sutil que realmente hizo que el conocimiento quedara muy bien asimilado. La disposición de Rod a doblegar la información sobre las preguntas poco comunes que planteamos para asegurarse de que sus respuestas fueran 100% correctas. Además, su interés en discutir los pros y contras de diferentes estilos de codificación, lo que nos permitió no solo aprender a usar C++ de la manera prevista, sino también entender por qué debía hacerse de esa forma.
Nick Dillon - cellxica Ltd
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Traducción Automática
Disfruté del tiempo que nos dedicamos a resolver los ejercicios. Esto fue muy útil, ya que nos permitió pasar un buen rato pensando en nuestras soluciones e implementándolas.
Valeriu - Siemens
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Traducción Automática
Los detalles sobre cómo el compilador se comporta dependiendo del uso de la sintaxis. Las secciones de "Quiz" son muy estimulantes
Andrea Pomatto
Curso - Using C++ in Embedded Systems - Applying C++11/C++14
Traducción Automática