Course Outline
Module 1
- Introduction + References
- Fundamentals
- Basics Workshop
- Overloading
- What can be overloaded and how
- Additional C++ Types (bool & reference)
- Overloading Workshop
- OOP
- Quick introduction to OOP
- Classes
- Structs
- Access Modifiers
- Constructors
- Default / deleted functions
- Initializer syntax / constructor initialization list
- Classes Workshop
- Memory
- Classical memory interaction
- Memory Workshop
Module 2
- Inheritance
- Construction
- Polymorphism
- Virtual, pure virtual, abstract, interface
- Access modifiers
- Inheritance Workshop (Shapes)
- Exceptions
- What are they
- How they work
- What to throw and what to catch
- Exceptions Workshop
- Memory exhaustion
- How it is notified
- How to handle
- Modern Memory Management
- RAII
- Templates applied to Modern Memory Management (SmartPointer)
- Standardized C++11 SmartPointers
- nullptr
- SmartPointers Workshop
- Namespaces
- Namespaces Workshop
Module 3
- auto
- The new auto keyword
- The new auto return syntax
- enum
- New style enums
- constexpr
- New constant expressions
- About constness
- Const and Mutable explained
- Lambdas & function objects
- Classes that act like functions
- Introduction to lambda functions
- Chrono
- An introduction to the new Chrono library
Module 4
- Casting
- Standard library
- String
- Containers
- Vector (vs)
- List
- Map
- Array
- Tuple
- Initializer lists
- Iterators
- range-for syntax
- Std Algorithms
- Streams
- Miscellaneous Keywords
- static
- explicit
Module 5
- Move semantics
- Introduction to L/R values
- R-value-references applied to move semantics
- Type Traits
- Obtaining information at compile time
- Concurrency
- Introduction to C++11’s Threading, async/future and atomic types implementation
- Variadic templates - An introduction to C++11’s variadic templates
Requirements
Minimum of 1 year experience with 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!!!