Code: PRG303
Duur in dagen: 3
Download: Open Rooster.pdf
Download: Infosheet
€ 1650

Cursus Advanced C++ Programmeren

24-09 t/m 26-09-2018
26-11 t/m 28-11-2018
16-01 t/m 18-01-2019
20-03 t/m 22-03-2019
22-05 t/m 24-05-2019
Uw startdatum
Regio:

Doelgroep Cursus Advanced C++ Programmeren

Cursus Advanced C++  Deze cursus is bedoeld voor developers die bekend zijn met C++ maar die zich willen verdiepen in de meer geavanceerde technieken en mogelijkheden van de taal.

Voorkennis Cursus Advanced C++

Om aan deze cursus deel te nemen is kennis van de basis concepten van C++ en uitgebreide ervaring met programmeren in C++ vereist.

Uitvoering Training Advanced C++

De theorie wordt behandeld aan de hand van presentatie slides. Illustratieve demo’s worden gebruikt om de behandelde concepten te verhelderen. Er is een sterke afwisseling van theorie en praktijk en ruime gelegenheid om te oefenen. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Advanced C++

De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Advanced C++ Programmeren.

Inhoud Cursus Advanced C++ Programmeren

In de cursus Advanced C++ komen geavanceerde aspecten van de C++ taal aan de orde. De algemene structuur van de STL en het gebruik ervan in de praktijk wordt behandeld. Er wordt aandacht besteed aan de details van containers, iterators en algoritmen. Bovendien komen geavanceerde STL features zoals function objects, binders, comparators en adapters aan de orde. De cursus behandelt ook de meer geavanceerde mogelijkheden van C++ zoals de overloading van operators als -> -> * en (), member templates en pointers naar member functies. Daarnaast wordt in detail gekeken naar de interne werking van smart pointers, een techniek die het mogelijk maakt om objecten te alloceren zonder ze expliciet op te moeten ruimen. De combinatie van smart pointers met STL en het gebruik van hash tables en function objects wordt ook belicht bij de behandeling van de geavanceerde aspecten van STL.

Module 1 : C++ New Features

Module 2 : References

Module 3 : Advanced Classes

Type Inference
Auto Keyword
Deduction with decltype
Deducing return Types
Uniform Initialization
Initializer Lists
Range Based for Loop
Null Pointer Constant
Lambda Functions
constexpr Keyword
static_assert
final and override
Noexcept specifier
Reference Initialization
References and Pointers
Rvalues and Rvalues in C
Rvalues and Rvalues in C++
Reference to Constant
Passing References
Comparison Parameter Passing
References as Return Values
Returning lvalue
Returning Reference to Global
Rvalue References
Comparing Reference Types
Rvalue Reference Usage
Derived Class Constructors
Base – Derived Class Conversion
Pointer Conversions
Virtual Functions
Polymorphism and Dynamic Binding
Virtual Function Table
Pure Virtual Functions
Virtual destructors
Copy Constructors
Move Constructor
Move Assignment Operator
Perfect Forwarding
Class enum’s

Module 4 : Smart Pointers

Module 5 : Operator Overloading

Module 6 : Templates

Memory leaks
auto_ptr
auto_ptr Ownership
shared _ptr Pointer
shared_ptr Destruction Policy
shared_ptr Interface
Dereferencing operators
Cyclic References
unique_ptr
weak_ptr
Usage rules
Operator Overloading
Overloading for Numeric Types
Complex Type Example
Overloading Rules
Overloading Streams
Overloading Restrictions
Not Overloadable Operators
When not to Overload
Numeric Class Overloading
Operators as Friend
Unary Overloading Operator
Template Functions
Template Specialization
Template Parameter List
Class Templates
Template Parameter Scope
Template Function Statics
Template Class Statics
Inclusion Compilation Model
Templates and Friends
Specific Template Friendship
Variadic templates

Module 7 : STL

Module 8 : Multithreading

Module 9 : C++ 14 and 17 Features

Standard Template Library
Containers, Algorithms and Iterators
Container classification
Vectors
Maps and Hash Maps
Strings
Bitsets
Reverse iterators
Iostream iterators
Function objects
Predicates and Comparators
Adapters
Launching Threads
ThreadID’s
Detaching Threads
Callables as Thread Function
Synchronization Mechanisms
Condition Variables and events
Wait and notify
Mutex
RAII
Automatic Lock Management
Promises and Futures
Working with async
Generic lambdas
Constexpr
User defined literals
chrono
not_null<>
Enhanced Type Deduction
Binary literals
Aggregate initialization
Code Simplification
Structured bindings
Decomposition declarations
Init-statement for if/switch

Kantooradres:
SpiralTrain BV

Gebouw "De Sijnsmeester"
Standerdmolen 8 – 1.11
3995 AA Houten

IP Computer Training Centrum
Diemerhof 32-36
1112 XN Diemen

020 7600027
http://www.ip-computer-training-centrum.nl

Compu Act Opleidingen
Slinge 303
3085 ER Rotterdam

023 - 551 3409
www.computertraining.nl

Trainspot
Kleine Singel 33
3572 CG Utrecht

030 - 737 05 81
http://www.trainspot.nl

IP Computer Training Centrum
Leenderweg 292
5644 AE Eindhoven

040 - 256 65 20
http://www.ip-computer-training-centrum.nl