Advanced C++ With Standard Template Libraries (STL)

Advanced C++ With Standard Template Libraries (STL)

Audience

The class is designed for C++ Programmers who want to learn how to use advanced C++ programming methods, including an in-depth study of Standard Template Libraries.

Prerequisites

Delegates are expected to have knowledge and experience of basic C++ programming.

Duration

5 days. Hands on.

This course is available on site only. Please call for details.

Objectives

This course aims to teach delegates how to program using advanced C++ methods and Object Orientated techniques. It has in-depth coverage of Standard Template Libraries  (STL).

Course Content

C++ Review
Templates.
const & mutable keywords.
Code Organisation.
Hiding Implementation Details.
RTTI.
Multiple Inheritance.

UML Overview
History.
The Use Case Diagram.
Part-of-Speech Analysis.
The Class Diagram.
Sequence Diagrams.
Collaboration Diagrams.
State Diagrams.
Activity Diagrams.
Component Diagrams.
Deployment Diagrams.
Code Generation.

Memory Management
The 'new' Operator.
The 'delete' Operator.
Memory Management Problems.
Smart Pointers.
The auto_ptr Template.
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.

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...