EXCEPTIONAL TRAINING COURSES FOR IT PROFESSIONALS
LONDON UK | ONSITE | ONLINE


C++ Advanced Training Course

NEXT COURSE
8 Jan London
request info

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

C++ Advanced training course (code: C++ADV)

Exploit Advanced Language & Library Features of C++ And Get Increased Productivity


SEE MORE COURSES IN THIS CATEGORY

TRAINING COURSE OVERVIEW

This advanced C++ training course aims to take C++ programmers to a new level of understanding and competence in their use of the C++ language and libraries. The course builds on existing knowledge, showing how to use basic language features correctly, it then covers templates, the language feature that underlies the Standard Template Library and most recent advances in C++. The third part majors on OO development, and shows how popular idioms and design patterns can be implemented in C++. The final two sections look at the two main libraries used by C++ programmers today: the Standard Template Library and the Boost libraries.


AUDIENCE

Experienced C++ programmers, who are looking to gain advanced skills and programming techniques using C++



DETAILHIGHLIGHTS

 

Part 1: Using Language Features Correctly

Const and Casting

Const correctness
Overloading on const
C++ cast operators
Mutable

Conversions and Scope

Standard conversions
Converting constructors
User defined conversions
Namespaces
Koenig lookup
Nested types
Static

Proper Exception Handling

Throwing and catching correctly
Exception safe code

Memory Management

The new handler
Placement new
Overloading new and delete

Part 2: Templates

Template Functions

What are templates?
Implementing template functions
Template instantiation

Template Classes

Creating a template class
Class instantiation
Non-type template parameters
Specialization

Template Metaprogramming

A brief introduction to metaprogramming

Part 3: C++ Idioms and Design Patterns

Implementing Value Types

What are value types?
Construction and destruction
Copying and assignment
Operator overloading

The Handle/body Idiom

The Bridge design pattern
Using Bridge to decouple compilation
Implementing handle/body

Functors

What are functors?
Implementing functors using operator overloading

Smart Pointers

What are smart pointers?
Uses of smart pointers in C++
Implementing a simple smart pointer
Reference counting and smart pointers
Std::auto_ptr (deprecated)

Singletons

The Singleton design pattern
A naïve implementation
Problems with Singleton in C++
Controlling Singleton lifetime

Policy-Based Design

Efficient library design
Mixing templates and multiple inheritance
Policies and policy classes

Part 4: Standard Template Library

STL concepts

Concept-based programming
Containers, iterators and algorithms

Containers

Sequence containers
Associative containers
Adapters

Traits

The need for traits
Implementation of traits in STL

Iterators

The Iterator design pattern
Iterator concepts in C++
Iterators and containers
Implementing and using iterators
Stream iterators

Algorithms

The STL standard algorithms
Creating and using algorithm

Part 5: The Boost Libraries

Introduction to Boost

What is Boost?
Obtaining and installing Boost
Overview of the Boost libraries

Common Boost Libraries

boost::tuple
boost::any
boost::ref
The Boost smart pointers
boost::bind

 

  • Using Language Features Correctly
  • Understand how Templates work
  • Understande C++ Idioms and Design Patterns
  • Standard Template Library
  • The Boost Libraries
Receive the latest version of this course into your inbox


See why people choose JBI

"At jbi even the sales team are technical so you are able to ask questions before the course"

Garima Aon

Call our Tech Team :  0800 028 6400  request info

 



PUBLIC COURSES (LONDON, UK)
 

8th Jan 2018 - 4 days £1995
Book

see all dates


X

Show Discount for this course



PRIVATE COURSES


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote


  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote


 

 

 

 

Get in touch
0800 028 6400




view all case studies

 

 

Our inspiring and up-to-date courses gain exceptional feedback

►"great tips to help reduce build times"
► "we got access to exclusive content"
► "intensive course meant less time off"

►"what an inspiring trainer !"
► "colleagues at 2 sites joined via web"
► "I passed my exam the next day"

Newsletter ! Get exclusive news about upcoming programs, technical insights & special offers