Audience
The class is designed for C++ Programmers who want to learn how to use advanced C++ programming methods including Standard Template Libraries and Boost.
Prerequisites
Delegates are expected to have experience in C language programming plus knowledge and experience of basic C++ programming.
Duration
5 days. Hands on.
This course is available on site only. Please call for details.
Course Objectives
This course aims to teach delegates how to program using advanced C++ methods, including Standard Template Libraries and Boost.
Course Content
Introduction
Hiding Implementation Details.
RTTI.
Multiple Inheritance.
Identifying Classes and Relationships.
UML Overview.
Memory Management
The 'new' Operator.
The 'delete' Operator.
Memory Management Problems.
Reducing Memory Usage.
Reference Counting.
Using Proxy Objects.
Design Patterns
Benefits of Design Patterns.
Standard Design Patterns (Iterator, Builder, Decorator, Visitor, etc.).
Implementing the Standard Design Patterns.
Standard Library overview
Header Files.
Streams.
Strings.
Containers.
Iterators.
Algorithms.
Internationalisation.
Numerics.
Language Support & Diagnostics.
Documentation.
STL Introduction
Performance Guarantees.
Iterators and Iterator Adaptors.
Copying Algorithms.
Searching and Sorting Algorithms.
Transform Algorithms.
Set Algorithms.
Permutations.
Heap Algorithms.
Predicates.
Binders.
Negators.
Using Member Functions.
STL Components
Vector.
Deque.
List.
Container Adaptors.
Queue & Stack.
Map & Multimap.
Set & Multiset.
The bitset Container.
Allocators.
Pointer-to-Function Adaptors.
The Raw Storage Iterator.
Extending the STL.
The Boost Libraries
Relationship to STL.
Smart Pointers.
Function Objects.
Regular Expressions.
Boost.Tuple.
Boost.Array & Boost.MultiArray.
Boost.CircularBuffer.
Boost.Unordered.
Multi-Threading.