Course Overview
This intensive seminar, based on material in Scott Meyers' landmark books (Effective C++, More Effective C++, and Effective STL), explains how to use C++ effectively, and how to create libraries and programs that are correct, efficient, portable, maintainable, and extensible.
Key Learning Areas
- Knowledge of the rules of thumb applied by expert C++ programmers as they design and implement software systems.
- An understanding of the proper application of C++'s many features, e.g., member and non-member functions, templates, inheritance, virtual and non-virtual functions, namespaces, etc.
- Insights into how to effectively combine language features to achieve desired behavior.
Course Outline
- const
- Resource Management
- Constructors, Destructors, and Assignment Operators
- Further Class Design
- Inheritance and Object-Oriented Design
- Concepts and Architecture of the STL
- Efficiency
- Programming with Exceptions
Who Benefits
Systems designers, programmers, and technical managers involved in the design, implementation, and maintenance of production libraries and applications using C++. Participants should already know the basic features of C++ (e.g., classes, inheritance, virtual functions, templates), but expertise is not required. Every C++ programmer will come away from this seminar with useful, practical, proven information.
Often combined with Moving Up to Modern C++: An Introduction to C++11/14 for C++ Programmers. Lecture and discussion only.
Prerequisites
Participants should already know the basic features of C++ (e.g., classes, inheritance, virtual functions, templates), but expertise is not required. Every C++ programmer will come away from this seminar with useful, practical, proven information.