Advanced C++ Programming

Tijdsduur
Locatie
Op locatie, Online
Startdatum en plaats

Advanced C++ Programming

SpiralTrain
Logo van SpiralTrain
Opleiderscore: starstarstarstarstar_half 8,5 SpiralTrain heeft een gemiddelde beoordeling van 8,5 (uit 50 ervaringen)

Tip: meer info over het programma, prijs, en inschrijven? Download de brochure!

Startdata en plaatsen
placeAmsterdam
3 feb. 2026 tot 6 feb. 2026
Toon rooster
event 3 februari 2026, 09:30-16:30, Amsterdam, Dag 1
event 4 februari 2026, 09:30-16:30, Amsterdam, Dag 2
event 5 februari 2026, 09:30-16:30, Amsterdam, Dag 3
event 6 februari 2026, 09:30-16:30, Amsterdam, Dag 4
placeEindhoven
3 feb. 2026 tot 6 feb. 2026
Toon rooster
event 3 februari 2026, 09:30-16:30, Eindhoven, Dag 1
event 4 februari 2026, 09:30-16:30, Eindhoven, Dag 2
event 5 februari 2026, 09:30-16:30, Eindhoven, Dag 3
event 6 februari 2026, 09:30-16:30, Eindhoven, Dag 4
placeHouten
3 feb. 2026 tot 6 feb. 2026
Toon rooster
event 3 februari 2026, 09:30-16:30, Houten, Dag 1
event 4 februari 2026, 09:30-16:30, Houten, Dag 2
event 5 februari 2026, 09:30-16:30, Houten, Dag 3
event 6 februari 2026, 09:30-16:30, Houten, Dag 4
computer Online: Online
3 feb. 2026 tot 6 feb. 2026
Toon rooster
event 3 februari 2026, 09:30-16:30, Online, Dag 1
event 4 februari 2026, 09:30-16:30, Online, Dag 2
event 5 februari 2026, 09:30-16:30, Online, Dag 3
event 6 februari 2026, 09:30-16:30, Online, Dag 4
placeRotterdam
3 feb. 2026 tot 6 feb. 2026
Toon rooster
event 3 februari 2026, 09:30-16:30, Rotterdam, Dag 1
event 4 februari 2026, 09:30-16:30, Rotterdam, Dag 2
event 5 februari 2026, 09:30-16:30, Rotterdam, Dag 3
event 6 februari 2026, 09:30-16:30, Rotterdam, Dag 4
placeZwolle
3 feb. 2026 tot 6 feb. 2026
Toon rooster
event 3 februari 2026, 09:30-16:30, Zwolle, Dag 1
event 4 februari 2026, 09:30-16:30, Zwolle, Dag 2
event 5 februari 2026, 09:30-16:30, Zwolle, Dag 3
event 6 februari 2026, 09:30-16:30, Zwolle, Dag 4
placeAmsterdam
7 apr. 2026 tot 10 apr. 2026
Toon rooster
event 7 april 2026, 09:30-16:30, Amsterdam, Dag 1
event 8 april 2026, 09:30-16:30, Amsterdam, Dag 2
event 9 april 2026, 09:30-16:30, Amsterdam, Dag 3
event 10 april 2026, 09:30-16:30, Amsterdam, Dag 4
placeEindhoven
7 apr. 2026 tot 10 apr. 2026
Toon rooster
event 7 april 2026, 09:30-16:30, Eindhoven, Dag 1
event 8 april 2026, 09:30-16:30, Eindhoven, Dag 2
event 9 april 2026, 09:30-16:30, Eindhoven, Dag 3
event 10 april 2026, 09:30-16:30, Eindhoven, Dag 4
placeHouten
7 apr. 2026 tot 10 apr. 2026
Toon rooster
event 7 april 2026, 09:30-16:30, Houten, Dag 1
event 8 april 2026, 09:30-16:30, Houten, Dag 2
event 9 april 2026, 09:30-16:30, Houten, Dag 3
event 10 april 2026, 09:30-16:30, Houten, Dag 4
computer Online: Online
7 apr. 2026 tot 10 apr. 2026
Toon rooster
event 7 april 2026, 09:30-16:30, Online, Dag 1
event 8 april 2026, 09:30-16:30, Online, Dag 2
event 9 april 2026, 09:30-16:30, Online, Dag 3
event 10 april 2026, 09:30-16:30, Online, Dag 4
placeRotterdam
7 apr. 2026 tot 10 apr. 2026
Toon rooster
event 7 april 2026, 09:30-16:30, Rotterdam, Dag 1
event 8 april 2026, 09:30-16:30, Rotterdam, Dag 2
event 9 april 2026, 09:30-16:30, Rotterdam, Dag 3
event 10 april 2026, 09:30-16:30, Rotterdam, Dag 4
placeZwolle
7 apr. 2026 tot 10 apr. 2026
Toon rooster
event 7 april 2026, 09:30-16:30, Zwolle, Dag 1
event 8 april 2026, 09:30-16:30, Zwolle, Dag 2
event 9 april 2026, 09:30-16:30, Zwolle, Dag 3
event 10 april 2026, 09:30-16:30, Zwolle, Dag 4
placeAmsterdam
9 jun. 2026 tot 12 jun. 2026
Toon rooster
event 9 juni 2026, 09:30-16:30, Amsterdam, Dag 1
event 10 juni 2026, 09:30-16:30, Amsterdam, Dag 2
event 11 juni 2026, 09:30-16:30, Amsterdam, Dag 3
event 12 juni 2026, 09:30-16:30, Amsterdam, Dag 4
placeEindhoven
9 jun. 2026 tot 12 jun. 2026
Toon rooster
event 9 juni 2026, 09:30-16:30, Eindhoven, Dag 1
event 10 juni 2026, 09:30-16:30, Eindhoven, Dag 2
event 11 juni 2026, 09:30-16:30, Eindhoven, Dag 3
event 12 juni 2026, 09:30-16:30, Eindhoven, Dag 4
placeHouten
9 jun. 2026 tot 12 jun. 2026
Toon rooster
event 9 juni 2026, 09:30-16:30, Houten, Dag 1
event 10 juni 2026, 09:30-16:30, Houten, Dag 2
event 11 juni 2026, 09:30-16:30, Houten, Dag 3
event 12 juni 2026, 09:30-16:30, Houten, Dag 4
computer Online: Online
9 jun. 2026 tot 12 jun. 2026
Toon rooster
event 9 juni 2026, 09:30-16:30, Online, Dag 1
event 10 juni 2026, 09:30-16:30, Online, Dag 2
event 11 juni 2026, 09:30-16:30, Online, Dag 3
event 12 juni 2026, 09:30-16:30, Online, Dag 4
placeRotterdam
9 jun. 2026 tot 12 jun. 2026
Toon rooster
event 9 juni 2026, 09:30-16:30, Rotterdam, Dag 1
event 10 juni 2026, 09:30-16:30, Rotterdam, Dag 2
event 11 juni 2026, 09:30-16:30, Rotterdam, Dag 3
event 12 juni 2026, 09:30-16:30, Rotterdam, Dag 4
placeZwolle
9 jun. 2026 tot 12 jun. 2026
Toon rooster
event 9 juni 2026, 09:30-16:30, Zwolle, Dag 1
event 10 juni 2026, 09:30-16:30, Zwolle, Dag 2
event 11 juni 2026, 09:30-16:30, Zwolle, Dag 3
event 12 juni 2026, 09:30-16:30, Zwolle, Dag 4
placeAmsterdam
4 aug. 2026 tot 7 aug. 2026
Toon rooster
event 4 augustus 2026, 09:30-16:30, Amsterdam, Dag 1
event 5 augustus 2026, 09:30-16:30, Amsterdam, Dag 2
event 6 augustus 2026, 09:30-16:30, Amsterdam, Dag 3
event 7 augustus 2026, 09:30-16:30, Amsterdam, Dag 4
placeEindhoven
4 aug. 2026 tot 7 aug. 2026
Toon rooster
event 4 augustus 2026, 09:30-16:30, Eindhoven, Dag 1
event 5 augustus 2026, 09:30-16:30, Eindhoven, Dag 2
event 6 augustus 2026, 09:30-16:30, Eindhoven, Dag 3
event 7 augustus 2026, 09:30-16:30, Eindhoven, Dag 4
Beschrijving
In the course Advanced C++ the new and advanced aspects of the C++ language based on the standards C++11, C++14, C++17 and C++20 are extensively discussed.

C++11 Features

The course starts with an overview of the features introduced in C++11 such as type inference, initializer lists, range based for loop, lambda functions and strongly typed enums.

Right References en Move Constructors

Next, the right references and the performance gains that can be achieved by using move constructors in addition to copy constructors are discussed.

Inheritance Additions

The new possibilities regarding inheritance with the keywords default, delete, override and final are also covered. The implementation of vir…

Lees de volledige beschrijving

Veelgestelde vragen

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

Nog niet gevonden wat je zocht? Bekijk deze onderwerpen: C/C++, Programmeren (algemeen), Java, OO (Object Oriented) Programmeren en Informatica.

In the course Advanced C++ the new and advanced aspects of the C++ language based on the standards C++11, C++14, C++17 and C++20 are extensively discussed.

C++11 Features

The course starts with an overview of the features introduced in C++11 such as type inference, initializer lists, range based for loop, lambda functions and strongly typed enums.

Right References en Move Constructors

Next, the right references and the performance gains that can be achieved by using move constructors in addition to copy constructors are discussed.

Inheritance Additions

The new possibilities regarding inheritance with the keywords default, delete, override and final are also covered. The implementation of virtual functions and the need for virtual destructors are discussed as well.

Smart Pointers

In addition, smart pointers are looked at in detail and unique pointers, shared pointers and weak pointers are treated.

Operator Overloading and Templates

Operator overloading and templates are also on the program, which focuses on variadic templates and perfect forwarding.

RAII Pattern

The modern C++ Resource Acquisition is Initialization or RAII idiom is discussed with exception handling.

Multithreading

Threads as well as the synchronization between threads are part of the standard and are discussed. This also includes asynchronous calls with promises and futures.

C++11, C++17 and C++20 Features

Then specific C++11, C++17 and C++20 features are discussed such as optional types, structured binding declarations and constructions from the world of functional programming such as fold expressions.

Advanced STL

The course concludes with an overview of advanced options of the Standard Template Library STL.

Audience Course Advanced C++ Programming

This course is intended for developers who are familiar with C++ but who want to delve into the more advanced techniques and possibilities of the language.

Prerequisites Course Advanced C++ Programming

To participate in this course knowledge of the basic concepts of C++ and extensive experience with programming in C++ is required. The participants must be familiar with topics such as operator overloading, templates, virtual functions and polymorphism.

Realization Training Advanced C++ Programming

The theory is treated on the basis of presentation slides. Illustrative demos clarify the concepts discussed. Theory and practice are interchanged and there is ample opportunity to practice.

Official Certificate Advanced C++ Programming

Participants receive an official Advanced C++ Programming certificate after successful completion of the course.

Modules

Module 1 : Modern C++ Features

  • C++11 Features
  • Type Inference
  • Auto Keyword
  • Deduction with decltype
  • Uniform Initialization
  • Initializer Lists
  • Range Based for Loop
  • Null Pointer Constant
  • constexpr Keyword
  • Static Asserts
  • Lambda Functions
  • Strongly Types Enums
  • User Defined Literals
  • Raw String Literals

Module 2 : Move Semantics

  • Reference Initialization
  • References and Pointers
  • Rvalues and Rvalues in C++
  • Passing and Returning References
  • Rvalue References
  • Comparing Reference Types
  • Rvalue Reference Usage
  • Assignment Operator
  • Copy Constructor
  • Passing and Returning Objects
  • Passing References to Objects
  • Move Constructor
  • Move Assignment Operator
  • Golden Rule of 5

Module 3 : Inheritance

  • default and delete Keyword
  • Delegating Constructors
  • Inheritance
  • Calling Base Class Constructors
  • Multiple Inheritance
  • Virtual Derivation
  • Polymorphism
  • Virtual Functions
  • Abstract Classes
  • Interfaces in C++
  • Destructors and Inheritance
  • Virtual Destructors
  • override Specifier
  • final Specifier

Module 4 : Smart Pointers

  • unique_ptr
  • Using unique_ptr
  • Specialization for Arrays
  • Replacement for std::auto_ptr
  • std::make_unique
  • shared _ptr Pointer
  • Control Block
  • shared_ptr Destruction Policy
  • shared_ptr Interface
  • Cyclic References
  • weak_ptr

Module 5 : Operator Overloading

  • Syntax Operator Overloading
  • Overloading Numeric Types
  • Overloading Overview
  • Overloading Restrictions
  • When not to Overload
  • Operators as Class Members
  • Operators as Friend Functions
  • Overloading Stream Operators
  • Overloading ostream and istream
  • Overloading Unary Operators
  • Overloading Binary Operators

Module 6 : Templates

  • Template Functions
  • Template Specialization
  • Template Parameter List
  • Inclusion Compilation Model
  • Class Templates
  • Template Member Functions
  • Template Parameter Scope
  • Templates and Statics
  • Templates and Friends
  • Alias Templates
  • Perfect Forwarding

Module 7 : Exception Handling

  • Error Conditions and Exceptions
  • Class Objects as Exceptions
  • Parameter Catch Block
  • Catching in Hierarchy
  • Golden Rule
  • Rethrowing Exceptions
  • noexcept Specifier
  • Preventing Resource Leaks
  • RAII Idiom
  • C++ Standard Exceptions
  • User Defined Exceptions
  • Exception Handling Costs

Module 8 : Multiple Threads

  • Multiple Threads
  • Benefits and Drawbacks
  • Thread Class
  • Joining Threads
  • Detaching Threads
  • Thread ID
  • Callables
  • Passing Parameters
  • Pass by Reference
  • Pass by std::ref and std::move
  • Member Function as Thread
  • Thread Local Storage

Module 9 : Synchronization

  • Data Corruption
  • Lock Guard
  • Automatic Lock Management
  • Mutex and RAII
  • Recursive Locking
  • Atomic Types
  • Call Once
  • Event Handling
  • Condition Variables
  • Wait and Notify
  • Promises and Futures
  • Asynchronous Tasks

Module 10 : C++14-17-20 Features

  • Init-statement for if
  • Selection Initialization
  • Structured Binding Declarations
  • const if Expressions
  • Guaranteed Copy Elision
  • Inline Variables
  • Fold Expressions
  • Optional Type
  • Small String Allocations
  • String View
  • Generic lambdas
  • Aggregate initialization

Module 11 : Standard Template Library

  • STL Core Components
  • Containers, Algorithms and Iterators
  • Vectors, Lists and Dequeues
  • Adapters and Associative Containers
  • Maps and Hash Maps
  • Bitsets
  • STL Iterators
  • Reverse and Iostream iterators
  • Function objects
  • STL Algorithms
  • Predicates and Comparators
  • STL Allocators

Waarom SpiralTrain

SpiralTrain is specialist op het gebied van software development trainingen. Wie bieden zowel trainingen aan voor beginnende programmeurs die zich de basis van talen en tools eigen willen maken als ook trainingen voor ervaren software professionals die zich willen bekwamen in de nieuwste versie van een taal of een framework.

Onze trainingkenmerken zich door :

• Klassikale of online open roostertrainingen en andere trainingsvormen
• Eenduidige en scherpe cursusprijzen, zonder extra kosten
• Veel trainingen met een doorlopende case study
• Trainingen die gericht zijn op certificering

Blijf op de hoogte van nieuwe ervaringen
Er zijn nog geen ervaringen.
  • Vraag informatie aan over deze cursus. Je ontvangt vanaf dan ook een seintje wanneer iemand een ervaring deelt. Handige manier om jezelf eraan te herinneren dat je wilt blijven leren!
  • Bekijk gerelateerde producten mét ervaringen: C/C++.
Deel je ervaring
Heb je ervaring met deze cursus? Deel je ervaring en help anderen kiezen. Als dank voor de moeite doneert Springest € 1,- aan Stichting Edukans.

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.

Download gratis en vrijblijvend de informatiebrochure

(optioneel)
(optioneel)
(optioneel)
infoEr is een telefoonnummer vereist om deze informatieaanvraag in behandeling te nemen. (optioneel)
(optioneel)
(optioneel)
(optioneel)

Heb je nog vragen?

(optioneel)
We slaan je gegevens op om je via e-mail en evt. telefoon verder te helpen.
Meer info vind je in ons privacybeleid.