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

Edoxi Training Ltd Logo

C++ Course

The C++ course helps you with a comprehensive understanding of the C++ programming language and its applications. In this course, students will learn the fundamentals of C++ programming, including variables, data types, operators, control structures, and functions. 

by Edoxi Training Ltd [Claim Listing ]
Kensington College Logo

Python

Python has arrived. ( 20 years ago!). If its good enough for Google and NASA its good enouch for us. Its great advantage really is that its open-source ie its free but more importantly with so many developers its very extensive.

by Kensington College [Claim Listing ]
Framework Training Logo

Ruby Programming Training Course

Ruby training course will you practical hands-on experience learning to develop Ruby applications from the ground up. You'll be guided through practical labs aimed to get you up to speed quickly with this versatile and well-supported language.

by Framework Training [Claim Listing ]
London IT Training Logo

Perl Programming

This course will teach you general Perl programming as well as system and database interaction. Perl stands for Practical Extraction and Report Language. This fundamental course teaches you how to use the Perl programming language to become a successful Perl programmer or system administrator.

by London IT Training [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 ]

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