About Us | [Public iPhone iPad Courses] | [Public Android Courses] | [Public Arduino Courses] | [Contact Us]

Course CPP102
Advanced C++ Programming - STL and Design Patterns

Duration: 5 Days

Intended Audience

Attendees are expected to have basic C++ programming experience. The purpose of the course is to provide an in depth coverage of idioms and design patterns and application development using the Standard Template Library (STL).

Synopsis

Synopsis

C++ is a rich programming language supporting a variety of distinct programming styles: procedural, object-oriented, and generic. This course aims to take programmers from a basic level of understanding to a much more advanced level. The course starts with an overview of existing C++ knowledge and common C++ programming idioms. This is followed by an in depth coverage of templates and the Standard Template Library (STL), and an overview of the Boost libraries.

Prerequisites

Unlike some "advanced" courses, this one does cover complex and advanced material. It is essential that delegates possess a good basic knowledge (and have practical experience) of OO programming in C++. As well as being comfortable with the basic syntax, you should be familiar with declaring, defining and using classes, inheritance, and dynamic memory management.

The class involves a lot of practical work, so delegates should come along prepared to get coding. The course will use the GNU C++ compiler and Eclipse. [If required this course can be run using Microsoft Visual Studio C++ compiler]

Publicly scheduled dates, locations, and prices

A schedule of dates for this subject is not currently available. Please call Ajay Patel on 02086471939 to enquire about places and availability.


Contents:

Overview of C++ Language Features

Const and Casting

Conversions and Scope

Exception Handling

Memory Management

Template Functions

Template Classes

Template Metaprogramming

Part 3: C++ Idioms and Design Patterns

Implementing Value Types

The Handle/body Idiom

Functors

Smart Pointers

Singletons

Standard Template Library

STL concepts

Containers

Traits

Iterators

Algorithms

Introduction to Boost

Common Boost Libraries