About this Course
                             
                            
                            
                            
                            In this final course, you'll continue to build your repertoire of programming idioms, design patterns and advanced C++ standard library components. We'll emphasize design principles, as well as the use of patterns to build extensible and maintainable larger-scale software applications and frameworks. In lessons and programming exercises, you'll use the incremental development of a vector graphics framework as a case study to illustrate how you make design choices and apply language features.
What You'll Learn
	- Interfaces and data abstraction
 
	- Separation of responsibilities and smart pointers
 
	- Design patterns, including prototypes, iterators and decorators 
 
	- Rvalue references and move semantics
 
	- How to use generalized constant expressions (constexpr) to simplify your code
 
	- Hashing techniques using unordered standard collections