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

NowSkills Logo

Intermediate Java

Employer-led and flexible, with no two apprenticeship journeys ever the same. We blend the best live online and physical classroom teaching experiences supported with the latest self-paced e-learning.

by NowSkills [Claim Listing ]
NCC Group Logo

Secure Coding In Java

NCC Group assists enterprises and product companies in improving the security of the software they develop. We offer these secure coding training courses to help developers promote a security mind-set and eliminate security flaws before they are created.

by NCC Group [Claim Listing ]
Knowledge Tree Logo

C#

C# can be used to create almost anything but is particularly strong at building Windows desktop applications and games. C# can also be used to develop web applications and has become increasingly popular for mobile development too.

by Knowledge Tree [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 ]
TSG Training Logo

Ruby Programming Course

This Ruby Programming course is designed to give delegates the knowledge to develop / maintain Ruby scripts. Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

by TSG Training [Claim Listing ]

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