Course Outline

  • What’s an Embedded System?
    • Simple Definition
    • Some Milestones
    • Characteristics
    • Why using C++?
  • Comparison with C
    • C: A subset of C++ – almost
    • Performance
    • Added “Free” Functionality
    • Why not using C++?
  • Classes
    • Member Variables
      • Instance variables
      • Class variables
    • Member Functions
      • Instance functions
      • Class functions
    • Implicit Methods
      • Constructor
        • Initialization
        • Delegation
      • Destructor
      • Copy assignment operator
    • Move Semantics – avoiding unnecessary deep copy
    • struct in C++
    • Package/Namespace
  • Inheritance
    • Introduction
    • Realization
    • Performance
    • Multiple Inheritance
    • Virtual Inheritance
  • Polymorphism
    • Introduction
    • Virtual Function
    • Virtual Destructor
    • Implementation
    • Runtime Type Information, RTTI
    • Performance
  • Templates
    • Introduction
    • Function Template
    • Class Template
      • Variadic Templates
    • Code Bloat
    • Implementation Strategies
    • Template Meta Programming
    • Template versus Inheritance?
  • Error Handling
    • Exception Handling
    • Performance Issues
    • Implementation
  • Inline Code
    • When to Use?
    • Strategies
  • Start-up
    • System Start-up
    • The C Part
    • The C++ Part
  • Standard Library
    • Standard Template Library, STL
    • iostream Library
    • Major extensions made on STL due to C++11:
      • Move semantics
      • Variadic Templates
      • Concurrency
  • Memory Management
    • The C++ Memory Model
      • The stdint-types
      • Atomic types and their operations
    • Strategies
    • Variables
    • Placement new
    • User Defined Memory Management
  • Interoperation between C and C++
    • Name Mangling
    • Static Initialization
    • Dynamic Memory
    • struct Contents
      • POD – Plain Old Data type
  • Design Patterns
    • RAII – Resource Acquisition Is Initialization
    • Memory-mapped I/O
    • Interrupt
    • Initialization of Static Objects

Requirements

There are no specific requirements needed to attend this course.

 21 Hours

Number of participants


Price per participant

Testimonials (2)

Related Categories