Advanced C++ Programming: CPP Exam Preparation
Master the generic programming and library skills expected of a professional C++ developer.
About this course
Master the generic programming and library skills expected of a professional C++ developer. You will write function and class templates, choose and use the right Standard Template Library containers, and combine iterators, algorithms, function objects and lambdas to write concise, efficient code.
The course also covers streams and file I/O, smart pointers, move semantics and resource management. The last day prepares you for the professional-level C++ certification exam through demanding code-reading practice.
What you'll learn
- Write generic code with function and class templates
- Use Standard Template Library containers effectively
- Traverse and manipulate data with iterators and algorithms
- Work with function objects and lambda expressions
- Handle formatted and file I/O with streams
- Apply modern C++ features such as smart pointers and move semantics
- Prepare for the professional-level C++ certification exam
Curriculum
- Function templates
- Class templates
- Template specialisation
- Templates and type deduction
- vector, deque and list
- Choosing a container
- Capacity and performance
- Container adaptors: stack, queue and priority_queue
- set and multiset
- map and multimap
- Unordered containers
- Custom comparison and hashing
- Iterator categories
- Iterating over containers
- Iterator adaptors
- Iterator invalidation
- Non-modifying algorithms
- Modifying algorithms
- Sorting and searching
- Numeric algorithms
- Functors
- Standard function objects
- Lambda expressions and captures
- Using std::function
- Stream classes and manipulators
- Formatted output
- File streams
- String streams
- Smart pointers
- Move semantics and rvalue references
- RAII
- Writing exception-safe code
- Exam format and objectives review
- Advanced code-reading practice
- Practice questions and review
- Exam strategy
Who it's for
Experienced C++ developers who want to master templates and the Standard Template Library and prepare for the professional-level C++ certification exam.
Before you start
- Solid C++ experience at associate level
- Comfort with classes, inheritance and exceptions
Prepares for
Related courses
More in Programming & Web Development →Advanced Java 9
Programming & Web Development
View course →Android Studio Development Essentials
Programming & Web Development
View course →Blockchain: An Overview for Business Professionals
Programming & Web Development
View course →Computer Vision with Python OpenCV
Programming & Web Development
View course →Database Design - Beginner
Programming & Web Development
View course →Flask Development with Python
Programming & Web Development
View course →Let's plan your next step together.
Tell us the course or certification you have in mind and we'll send the outline, upcoming dates, fees and private-team options.