LIVE Instructor-Led Courses
Dismiss

C++ Advanced training course

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

JBI training course London UK

"A good and thorough course for advanced C++ techniques - well delivered by zoom, in a small group allowing some really one to one tutoring to take place."

ZL, Data Analyst, C++ Advanced, June 2021

TAILOR-MADE
Enquire & get a quote
PUBLIC COURSES
Next on 4 Jul - see prices
JBI training course London UK

  • 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

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
  •  
JBI training course London UK

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

4.8 out of 5 average

"A good and thorough course for advanced C++ techniques - well delivered by zoom, in a small group allowing some really one to one tutoring to take place."

ZL, Data Analyst, C++ Advanced, June 2021

JBI training course London UK
 
Top 20 "Pain Points" for Data Analysts
 

Problem 11 : You have a very complex Excel spreadsheet and you want to reproduce EXACTLY the same spreadsheet in Power BI
Solution: Power BI is not Excel, it works differently and it has different strengths. In order to tackle this issue the best way is going back to the source and try to...

All 20 points are in our latest Newsletter - Delivered directly to your inbox



CONTACT
+44 (0)20 8446 7555

enquiries@jbinternational.co.uk

SHARE

Corporate Policies     Terms & Conditions
JB International Training Ltd  -  Company number 08458005

Registered address Wohl Enterprise Hub 2B Redbourne Avenue London N3 2BS

POPULAR

Rust training course                                                                          React training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Kubernetes training course                                                            C++ training course

Power Automate training course                               Clean Code training course