Get in Touch

Course Outline

  • Understanding Embedded Systems
    • Basic Definition
    • Key Milestones
    • Characteristics
    • Reasons to Use C++
  • Comparison with C
    • C as a Subset of C++ – Almost
    • Performance Considerations
    • Added "Free" Functionality
    • Reasons to Avoid 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 Copies
    • struct in C++
    • Packages/Namespaces
  • Inheritance
    • Introduction
    • Implementation
    • Performance Impacts
    • Multiple Inheritance
    • Virtual Inheritance
  • Polymorphism
    • Introduction
    • Virtual Functions
    • Virtual Destructors
    • Implementation Details
    • Runtime Type Information (RTTI)
    • Performance Considerations
  • Templates
    • Introduction
    • Function Templates
    • Class Templates
      • Variadic Templates
    • Code Bloat
    • Implementation Strategies
    • Template Metaprogramming
    • Templates vs. Inheritance?
  • Error Handling
    • Exception Handling
    • Performance Issues
    • Implementation Approaches
  • Inline Code
    • When to Use
    • Strategies
  • Startup Process
    • System Startup
    • The C Part
    • The C++ Part
  • Standard Library
    • Standard Template Library (STL)
    • iostream Library
    • Major STL Extensions in C++11:
      • Move Semantics
      • Variadic Templates
      • Concurrency
  • Memory Management
    • The C++ Memory Model
      • stdint Types
      • Atomic Types and Operations
    • Strategies
    • Variables
    • Placement new
    • User-Defined Memory Management
  • C/C++ Interoperability
    • Name Mangling
    • Static Initialization
    • Dynamic Memory Management
    • struct Contents
      • POD – Plain Old Data Type
  • Design Patterns
    • RAII – Resource Acquisition Is Initialization
    • Memory-Mapped I/O
    • Interrupt Handling
    • Initialization of Static Objects

Requirements

No specific requirements are needed to attend this course.

 21 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories