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, C++ Programming courses in UK

Simply Rhino Logo

Python Programming

Python is an increasingly popular programming language used in many fields: 3D modelling, web programming, scientific computing, artificial intelligence, etc. As a modern programming language, the language has a simple and clean syntax, making it very accessible to beginners.

by Simply Rhino [Claim Listing ]
Smarthub IT Logo

Programming Language

A programming language is a formal language, which comprises a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms.

by Smarthub IT [Claim Listing ]
London IT Training (LIT) Logo

Python Training

This training course will teach you how to install Python in your computer and how to set up the IDE (Integrated Development Environment), where you will write your code. Gradually, you will learn more basics like data structure and objects of Python.

by London IT Training (LIT)
Seer Computing Limited Logo

Essential Python 3 Training Course

ython is a great place to start, it has every feature that most languages have; looping, user defined functions, a graphical interface and of course the ability to create standalone processes which can be compiled and executed as downloadable programs without the User needing to install Python

by Seer Computing Limited [Claim Listing ]
TSG Training Logo

Introduction To Programming

The Introduction to Programming course comprises sessions dealing with variables, expressions, conditional statements, collections, iterative statements, functions, objects, compilation and execution, and best practices.

by TSG Training [Claim Listing ]

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