Course Outline
Module 1
- Introduction + References
- Fundamentals
- Workshop: Fundamentals
- Function Overloading
- Overloadable Elements and Techniques
- Additional C++ Types (bool & reference)
- Workshop: Overloading
- OOP Concepts
- Quick OOP Overview
- Classes
- Structs
- Access Modifiers
- Constructors
- default / delete Functions
- Initializer Syntax / Constructor Initialization Lists
- Workshop: Classes
- Memory Management
- Traditional Memory Interaction
- Workshop: Memory
Module 2
- Inheritance
- Construction in Inheritance
- Polymorphism
- Virtual, Pure Virtual, Abstract, and Interface Classes
- Access Modifiers
- Workshop: Inheritance (Shapes)
- Exceptions
- Understanding Exceptions
- Mechanism of Exceptions
- What to Throw and Catch
- Workshop: Exceptions
- Memory Exhaustion
- Notification Mechanisms
- Handling Strategies
- Modern Memory Management
- RAII Principles
- Templates for Modern Memory Management (SmartPointers)
- C++11 Standard SmartPointers
- nullptr
- Workshop: SmartPointers
- Namespaces
- Workshop: Namespaces
Module 3
- The auto Keyword
- New Usage of the auto Keyword
- New auto Return Syntax
- Enums
- Scoped Enums
- constexpr
- Constant Expressions
- Understanding Constness
- const and mutable Explained
- Lambdas and Function Objects
- Class-Like Functions
- Introduction to Lambda Functions
- Chrono Library
- Introduction to the Modern Chrono Library
Module 4
- Dynamic Casting
- Standard Library
- std::string
- Containers
- std::vector (vs std::list)
- std::list
- std::map
- std::array
- std::tuple
- Initializer Lists
- Iterators
- Range-Based For Syntax
- std::Algorithms
- Streams
- Miscellaneous Keywords
- static
- explicit
Module 5
- Move Semantics
- Introduction to L-Values and R-Values
- R-Value References in Move Semantics
- Type Traits
- Compile-Time Information Retrieval
- Concurrency
- Introduction to C++11 Threading, async/future, and Atomic Types
- Variadic Templates - Introduction to C++11 Variadic Templates
Requirements
Minimum of 1 year experience in C++
Testimonials (3)
how we can use reserved words and best practices to be used when using Objet Oriented Programming. how we can rely on cpp reference to get knowledge of desired topics
Alejandro - we need to hace this group for mexico people only from Turf and compact utility
Course - Advanced C++ Software Design
The trainer always solves my doubts.
David C Pascual C - we need to hace this group for mexico people only from Turf and compact utility
Course - Advanced C++ Software Design
I liked being submerged into the C++ language for 5 days - not interrupted by regular work - in a row a lot ... Personally not as experienced in C++ as my colleagues, I decided to join this course to take a deep dive. The dive triggered me hugely to learn more ... which is exactly what I wanted to achieve. I appreciated the expertise knowledge of the trainer - and that of my colleagues. The fact that topics were very quickly touched and not addressed in detail, is what I expect from an advanced course. Sometimes too quick for me to follow (but that's a known and accepted drawback from my joining this course :-)) ... but on the other hand provided me with a fairly complete overview of the subtleties of the language. Thanks a lot for presenting a course in this way! Most appreciated!!!