Advanced C++ With Standard Template Libraries and Boost

Advanced C++ With Standard Template Libraries and Boost

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.

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...