Course Outline
Module 1
- Introduction + References
- Fundamentals
- Workshop: Fundamentals
- Function Overloading
- What can be overloaded and the methodology behind it
- Additional C++ Types (bool & reference)
- Workshop: Overloading
- OOP
- Quick overview of OOP
- Classes
- Structs
- Access Modifiers
- Constructors
- default/delete functions
- Initializer syntax and constructor initialization lists
- Workshop: Classes
- Memory Management
- Traditional memory interaction
- Workshop: Memory
Module 2
- Inheritance
- Construction
- Polymorphism
- Virtual, pure virtual, abstract, and interface concepts
- Access modifiers
- Workshop: Inheritance (Shapes)
- Exceptions
- Understanding what they are
- How they operate
- What to throw and what to catch
- Workshop: Exceptions
- Memory Exhaustion
- How it is notified
- Strategies for handling it
- Modern Memory Management
- RAII
- Applying Templates to Modern Memory Management (SmartPointers)
- C++11 Standardized SmartPointers
- nullptr
- Workshop: SmartPointers
- Namespaces
- Workshop: Namespaces
Module 3
- auto
- The new auto keyword
- The new auto return syntax
- enum
- Strongly typed enums
- constexpr
- New constant expressions
- Understanding constness
- Explanation of const and mutable
- Lambdas and function objects
- Classes that behave like functions
- Introduction to lambda functions
- Chrono
- An introduction to the new Chrono library
Module 4
- Casting
- Standard library
- String
- Containers
- Vector (std::vector)
- List
- Map
- Array
- Tuple
- Initializer lists
- Iterators
- Range-based for syntax
- Standard Algorithms
- Streams
- Miscellaneous Keywords
- static
- explicit
Module 5
- Move semantics
- Introduction to L-values and R-values
- Application of R-value references to move semantics
- Type Traits
- Gathering information at compile time
- Concurrency
- Overview of C++11's Threading, async/future, and atomic type implementations
- Variadic templates - An introduction to C++11's variadic templates
Requirements
A minimum of 1 year of experience with C++
Testimonials (5)
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!!!
Jan Grauwen - Septentrio N.V.
Course - Advanced C++ Software Design
Iván's way of explaining. He is very clear. His excellent level of knowledge. His experience. His attitude towards his students. Very kind.
Luis Antonio Salazar Rivero - Banco de Mexico
Course - Advanced C++ Software Design
Machine Translated
The instructor's knowledge.
Juan Jose Lopez Martinez - Banco de Mexico
Course - Advanced C++ Software Design
Machine Translated