C++ Advanced Training Course

by JBI Training Claim Listing

Learn to useĀ Language Features Correctly Gain an introduction to metaprogramming Understand how Templates work with functions Explore C++ Idioms and Design Patterns UnderstandĀ smart pointers

Price : Enquire Now

Contact the Institutes

Fill this form

Advertisement

JBI Training Logo

img Duration

4 Days

Course Details

Highlights

  • Learn to use Language Features Correctly

  • Gain an introduction to metaprogramming

  • Understand how Templates work with functions

  • Explore C++ Idioms and Design Patterns

  • Understand smart pointers

  • Learn Policy-Based Design

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

  • Apply Containers: Sequence and Associative containers and Adapters

  • Learn Standard Template Library with concept based programming 

  • Explore Boost and The Boost Libraries

 

Course Details

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

 

Who Should Attend

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

  • London Branch

    JBI Training Wohl Enterprise Hub 2B Redbourne Avenue, London

Ā© 2025 coursetakers.com All Rights Reserved. Terms and Conditions of use | Privacy Policy