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


Starts

Ends


Dates are subject to availability and take place between 09:30 and 16:30.
Open Training Courses require 5+ participants.

Testimonials (1)

Related Courses

The Yocto Project - An Overview - hands-on

  28 Hours

Related Categories