Course Objectives
By the end of this course, you’ll have developed programming skills that will set you apart from other C++ programmers. After completing this course, you will be able to:
- Delve into the anatomy and workflow of C++ Study the pros and cons of different approaches to coding in C++ Test, run, and debug your programs Link object files as a dynamic library Use templates, SFINAE, constexpr if expressions and variadic templates Apply best practice to resource management
Agenda
- Managing C++ Projects
- Writing Readable Code
- C++ Types
- Creating User Types
- Structuring our Code
- Inheritance, Polymorphism, and Interfaces
- Templates – Generic Programming
- Type Aliases – typedef and using
- Class Templates
- Exceptions in C++
- RAII and the STL
- Move Semantics
- Name Lookup
- Caveat Emptor
- Function Objects and Lambda Expressions
- Variadic Templates
- Synchronous, Asynchronous, and Threaded Execution
- Review Synchronization, Data Hazards, and Race Conditions
- Future, Promises, and Async
- File I/O Implementation Classes
- String I/O Implementation
- I/O Manipulators
- Making Additional Streams
- Using Macros
- Assertions
- Unit Testing and Mock Testing
- Understanding Exception Handling
- Breakpoints, Watchpoints, and Data Visualization
- Performance Measurement
- Runtime Profiling
- Optimization Strategies
- Cache Friendly Code
FREE
Interested in course?
Course Type: Instructor Led