Opleiding: C++ 11-14-17-20

In the course C++11-14-17-20 the participants learn the new features of the C++ standard that have been added since C++11.

C++ Standard

Since the C++98 standard it has remained silent for a long time, but since C++11 C++ has undergone a steady development in recent years with the releases of C++14, C++17 and C++20.

C++11 Features

The course starts with an overview of a number of new features in C++11 such as type inference, uniform initialization, lambda functions and strongly typed enums.

Rvalue Reference

Next the new Rvalue reference types in C++11 are discussed, which enable move constructors instead of copy constructors. The Golden Rule of 5 for classes with pointer members is also discussed.

Smart Pointers

An important addition to the C++ standard introduced with C++11 are the smart pointers. These are important in preventing memory leaks and unique, shared and weak smart pointers are discussed.

Multiple Threads

Furthermore attention is paid to multiple threads that have been part of the C++ standard since C++11. With threads C++ applications can be parallelized and make optimal use of multiple cores. The synchronization of threads by locking mechanisms such as mutexes and condition variables are also part of the course program.

C++14 Features

The new features of C++14 including generalized lambda captures, return type deduction, shared mutexes and shared locking are then discussed.

C++17 and C++20 Features

Finally attention is paid to changes and additions to the standard that have come with the release of C++17 and C++20 such as folding expressions, optional types and immediate functions.

Audience Course C++ 11-14-17-20

The course C++ 11-14-17-20 is intended for C++ developers who want to learn the new features of the C++ 11, 14, 17 and 20 standards.

Prerequisites Course C++ 11-14-17-20

To participate in this course knowledge of and experience with programming in C++ is required.

Realization Training C++ 11-14-17-20

The theory is discussed on the basis of presentation slides and is interchanged with exercises. Illustrative demos are used to clarify the concepts discussed. Course times are from 9.30 to 16.30.

Certification course C++ 11-14-17-20

After successful completion of the training, participants receive an official certificate C++ 11-14-17-20.

Modules

Module 1 : C++ 11 Intro

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

Module 2 : Move Semantics

  • Lvalues and Rvalues in C++
  • Reference to Constant
  • Passing References
  • References as Return Values
  • Rvalue References
  • Rvalue Reference Usage
  • Assignment Operator
  • Copy Constructor
  • Passing and Returning Objects
  • Passing References to Objects
  • Move Constructor
  • Move Semantics
  • Move Assignment Operator
  • Golden Rule of 5

Module 3 : 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
  • std::enable_shared_from_this
  • weak_ptr
  • default Keyword
  • delete Keyword

Module 4 : Multiple Threads

  • Multiple Threads
  • Benefits and Drawbacks
  • Thread Characteristics
  • Thread Class
  • Simple Threads
  • 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 5 : Synchronization

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

Module 6 : C++ 14

  • Binary Literals
  • Generic Lambda Expressions
  • Generalized Lambda Captures
  • Lambda Capture Initializers
  • Return type Deduction
  • decltype(auto)
  • Constraints constexpr Functions
  • Variable Templates
  • [[deprecated]] Attribute
  • Digit Separators
  • Shared Mutexes
  • Shared Locking
  • Tuple Addressing via Type
  • std::is_final

Module 7 : C++ 17

  • Folding Expressions
  • constexpr Lambda
  • const if Expressions
  • Init-statement for if
  • Inline Variables
  • Nested Namespaces
  • Structured Bindings
  • Selection Initialization
  • UTF-8 Character Literals
  • Initialization of Enums
  • fallthrough and nodiscard
  • Guaranteed Copy Elision
  • Optional Types

Module 8 : C++ 20

  • Concepts Library
  • Designated Initializers
  • likely and unlikely Attributes
  • Immediate Functions
  • constexpr Virtual Functions
  • Explicit Bool
  • Template Syntax Lambdas
  • Math Constants
  • Synchronized Outputstreams
  • std::is_constant_evaluated
  • std::span
  • std::bit_cast
  • std::midpoint
Meer...
€1.499
ex. BTW
Aangeboden door
SpiralTrain
Onderwerp
C/C++
Niveau
Duur
2 dagen
Looptijd
12 dagen
Taal
en
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Amsterdam
do 9 jul. 2026
Eindhoven
do 9 jul. 2026
Houten
do 9 jul. 2026
Rotterdam
do 9 jul. 2026
Utrecht
do 9 jul. 2026
Zwolle
do 9 jul. 2026
Amsterdam
do 10 sep. 2026
Eindhoven
do 10 sep. 2026
Houten
do 10 sep. 2026
Rotterdam
do 10 sep. 2026
Utrecht
do 10 sep. 2026
Zwolle
do 10 sep. 2026
Amsterdam
do 12 nov. 2026
Eindhoven
do 12 nov. 2026
Houten
do 12 nov. 2026
Rotterdam
do 12 nov. 2026
Utrecht
do 12 nov. 2026
Zwolle
do 12 nov. 2026
Amsterdam
do 7 jan. 2027
Eindhoven
do 7 jan. 2027
Houten
do 7 jan. 2027
Rotterdam
do 7 jan. 2027
Utrecht
do 7 jan. 2027
Zwolle
do 7 jan. 2027
Amsterdam
do 11 mrt. 2027
Eindhoven
do 11 mrt. 2027
Houten
do 11 mrt. 2027
Rotterdam
do 11 mrt. 2027
Utrecht
do 11 mrt. 2027
Zwolle
do 11 mrt. 2027
Amsterdam
do 13 mei 2027
Eindhoven
do 13 mei 2027
Houten
do 13 mei 2027
Rotterdam
do 13 mei 2027
Utrecht
do 13 mei 2027
Zwolle
do 13 mei 2027
Amsterdam
do 8 jul. 2027
Eindhoven
do 8 jul. 2027
Houten
do 8 jul. 2027
Rotterdam
do 8 jul. 2027
Utrecht
do 8 jul. 2027
Zwolle
do 8 jul. 2027
Amsterdam
do 9 sep. 2027
Eindhoven
do 9 sep. 2027
Houten
do 9 sep. 2027
Rotterdam
do 9 sep. 2027
Utrecht
do 9 sep. 2027
Zwolle
do 9 sep. 2027
Amsterdam
do 11 nov. 2027
Eindhoven
do 11 nov. 2027
Houten
do 11 nov. 2027
Rotterdam
do 11 nov. 2027
Utrecht
do 11 nov. 2027
Zwolle
do 11 nov. 2027
Amsterdam
do 6 jan. 2028
Eindhoven
do 6 jan. 2028
Houten
do 6 jan. 2028
Rotterdam
do 6 jan. 2028
Utrecht
do 6 jan. 2028
Zwolle
do 6 jan. 2028
Amsterdam
do 9 mrt. 2028
Eindhoven
do 9 mrt. 2028
Houten
do 9 mrt. 2028
Rotterdam
do 9 mrt. 2028
Utrecht
do 9 mrt. 2028
Zwolle
do 9 mrt. 2028
Amsterdam
do 11 mei 2028
Eindhoven
do 11 mei 2028
Houten
do 11 mei 2028
Rotterdam
do 11 mei 2028
Utrecht
do 11 mei 2028
Zwolle
do 11 mei 2028
Amsterdam
do 6 jul. 2028
Eindhoven
do 6 jul. 2028
Houten
do 6 jul. 2028
Rotterdam
do 6 jul. 2028
Utrecht
do 6 jul. 2028
Zwolle
do 6 jul. 2028
Amsterdam
do 7 sep. 2028
Eindhoven
do 7 sep. 2028
Houten
do 7 sep. 2028
Rotterdam
do 7 sep. 2028
Utrecht
do 7 sep. 2028
Zwolle
do 7 sep. 2028
Keurmerken aanbieder
NRTO
UWV scholingsvoucher