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

Check out more C++ Programming courses in UK

London IT Training (LIT) Logo

Apache Spark & Scala Training

Apache Spark is an open-source, high-speed cluster computing solution for analysing enormous amounts of data. Spark is the most comprehensive tool, and many significant corporations have adopted it throughout the world.

by London IT Training (LIT)
Verhoef Training Logo

AIX Basics - AN10G

This basic course is intended for anyone who requires basic AIX/UNIX user skills to be able to work in an AIX environment. This course is also a prerequisite for many courses in the AIX Systems Administration curriculum.

by Verhoef Training [Claim Listing ]
JBI Training Logo

Perl Training Course

Perl is a mature, extremely flexible, general-purpose programming language, which is especially well-suited to textual manipulation. In addition to its brilliant built-in-facilities, there are vast freely-accessible libraries of Perl code to help build almost every conceivable application.

by JBI Training [Claim Listing ]
QA Logo

Secure Coding in C & C++

This course will change the way you look at your C/C++ code. We'll teach you the common weaknesses and their consequences that can allow hackers to attack your system, and – more importantly – best practices you can apply to protect yourself.

by QA [Claim Listing ]
Wise Owl Training Logo

C Programming

If you're just starting to learn how to program in Visual C#, this is the course for you! The beginner course spends the minimum amount of time on the user interface, and instead concentrates on the things you'll need to know, such as declaring variables, writing conditions, looping and using lists...

by Wise Owl Training [Claim Listing ]

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