Advanced C++ Programming

Trivera Technologies LLC
Training overview
Professional Course
4 days
From 2,495 USD
Start dates
Online
2,495 USD
10/19/2021

Online
2,495 USD
12/7/2021

Course description

Advanced C++ Programming

Advanced C++ Programming (Modern Advanced C++) is a lab-intensive, hands-on C++ training course geared for experienced C++ programmers who wish to take their development skills to the next level. Students will leave this course armed with the required skills to put advanced C++ programming skills right to work in a practical environment, using sound coding techniques and best practices.

This comprehensive course consists of three modules. A preliminary module reviews topics, including inheritance, the ANSI C++ Standard Library, templates. I/O streams, and practical issues of C++ programming, such as reliability & testing. This material is covered as needed depending on the background of the students.

The second module covers more advanced topics. Unit testing, advanced inheritance & polymorphism are discussed. Memory management along with move constructors and RAII are explored. Templates and generic programming are explored including lambda expressions and functors. The third module is a deep dive into the Standard C++ Library. Containers, Algorithms, Threads and much more.

Throughout the course, new features of modern C++ (version 11 and beyond) are introduced as well as the impact on programming style. These new features include smart pointers, move constructors, functional programming and lambda expressions.

Want to find out more?

Who should attend?

This an intermediate and beyond-level programming course designed for experienced C++ developers. This course is not recommended for developers new to C++ programming.

Training content

Session: Overview/Review of C++

  • Implementing a basic O-O design
  • Implementing Classes

Session: Modern C++

  • New keywords in C++ 11,14,17
  • RAII - Modern memory management in C++ - overview
  • Copy vs Move semantics
  • Namespaces

Session: Generic Programming

  • General Purpose Functions
  • Function Templates
  • Template Parameters
  • Template Parameter Conversion
  • Function Template Problem
  • Generic Programming
  • General Purpose Classes
  • Class Templates
  • Class Template Instantiation
  • Non Type Parameter
  • C++ Containers overview
  • Variadic Templates

Session: Memory Management

  • The handle/body (Bridge) pattern
  • Using strings effectively
  • Smart Pointers
  • Move constructor in depth
  • Other features

Session: Inheritance and Polymorphism

  • Base Class Initializer List
  • Composition
  • Member Initialization List
  • Order of Initialization
  • Inheritance vs. Composition
  • Interfaces
  • Polymorphism
  • Chaining Constructors
  • Inheriting Constructors

Session: Exception Handling

  • Exception Handling
  • try and catch
  • Exception Flow of Control
  • Context and Stack Unwinding
  • Handling Exceptions in best Context
  • Benefits of Exception Handling
  • Unhandled Exceptions
  • Clean Up
  • Multiple Catch Handlers

Session: Operator Overloading

  • What is overloadable?
  • Why overload operators?
  • Functors

Session: Unit Testing in C++

  • Unit testing – Quick Overview
  • Unit testing in C++
  • Introduction

Session: Functional Programming

  • Overview
  • The IoC pattern
  • Dependency Injection
  • Functions as objects
  • IoC via interface
  • Functors
  • IoC with Functors
  • Implementing Functors
  • Function Pointers
  • IoC with Function Pointers
  • Lambda Expressions
  • Lambda Syntax
  • IoC with Lambdas

Session: Runtime Type Information

  • Runtime Type and Polymorphism
  • type_info Class
  • typeid Operator
  • Compiler Options
  • Safe Pointer Conversions
  • Dynamic Cast
  • New C++ Style Casts
  • Static Cast
  • Reinterpret Cast
  • Const Cast

Session: STL Containers

  • Vectors
  • Vector.cpp
  • Vector Operations
  • Typedefs
  • Deques
  • deque as Stack
  • deque Functionality
  • Lists
  • Generic Programming
  • Tradeoff with Lists
  • List Memory Allocation
  • list Functionality
  • Associate Containers
  • Sets
  • Sets with User Defined Objects
  • Multisets (Bags)
  • Maps
  • Multimaps
  • Functional Programming with Containers

Session: STL Iterators

  • Pointers
  • Template Version
  • String Version
  • A Generalization of Pointers
  • STL Iterators
  • Input Iterators
  • Output Iterators
  • Forward Iterators
  • Bidirectional Iterators
  • Random Access Iterators

Session: Threads & Tasks

  • Overview Threads
  • Starting Threads
  • Managing threads
  • Overview of Tasks
  • Tasks
  • async
  • Future & Promise

Costs

  • Price: $2,495.00
  • Discounted Price: $1,621.75

Why choose Trivera Technologies LLC?

Over 25 years of technology training expertise.

Robust portfolio of over 1,000 leading edge technology courses.

Guaranteed to run courses and flexible learning options.

About Trivera Technologies LLC

Trivera Technologies

Trivera Technologies is a IT education services & courseware firm that offers a range of wide professional technical education services including: end to end IT training development and delivery, skills-based mentoring programs,new hire training and re-skilling services, courseware licensing and...


Read more and show all training delivered by this supplier

Contact this provider

Fill out your details to find out more about Advanced C++ Programming.

  Contact the provider

  Get more information

  Register your interest

Country *

Contact info

Trivera Technologies LLC

7862 West Irlo Bronson Highway
STE 626
Kissimmee FL 34747

 Show phone number
www.triveratech.com

Request Information

Have a question about this course? Fill out this form and the provider will get in touch with you shortly

View again
Supplier Directory
Join our Supplier Directory to:
- Gain Traffic
- Get Noticed
- Showcase Your Services
- Free Listing Available