fbpx

Cursus Modern C++ Programmeren

In de cursus Modern C++ komen de nieuwe en geavanceerde aspecten van de C++ taal gebaseerd op de standaarden C++11, C++14, C++17 en C++20 ruimschoots aan de orde.

Regio:
  • Inhoud
  • Training
  • Modules
  • Algemeen
    Algemeen
  • Reviews
  • Certificaat
  • Cursus Modern C++ Programmeren : Inhoud

    C++11 Features

    De cursus gaat van start met een overzicht van de features die in C++11 zijn geïntroduceerd zoals type inference, initializer lists, range based for loop, lambda functies en strongly typed enums.

    Right References en Move Constructors

    Vervolgens wordt ingegaan op right references en de performance winsten die geboekt kunnen worden door move constructors naast copy constructors te gebruiken.

    Inheritance Toevoegingen

    Ook de nieuwe mogelijkheden met betrekking tot inheritance met de keywords default, delete, override en final komen aanbod. En passant wordt ingegaan op de implementatie van virtual functions en de noodzaak van virtual destructors.

    Smart Pointers

    Daarnaast wordt in detail gekeken naar smart pointers en hierbij komen unique pointers, shared pointers en weak pointers aan de orde.

    Operator Overloading en Templates

    Ook operator overloading en templates staan op het programma, waarbij ingegaan wordt op variadic templates en perfect forwarding.

    RAII Pattern

    Het modern C++ Resource Acquisition is Initialization ofwel RAII idioom komt aan de orde bij exception handling.

    Multithreading

    Threads evenals de synchronisatie tussen threads zijn onderdeel van de standaard en worden besproken. Hierbij wordt ook ingegaan op asynchrone calls met promises en futures.

    C++11, C++17 en C++20 Features

    Vervolgens komen specifieke C++11, C++17 en C++20 features aan bod zoals optional types, structured binding declarations en constructies uit de wereld van functioneel programmeren zoals fold expressions.

    Advanced STL

    De cursus besluit met een overzicht van de geavanceerde mogelijkheden van de Standard Template Library STL.

  • Cursus Modern C++ Programmeren : Training

    Doelgroep Cursus Modern C++ Programmeren

    De cursus Modern C++ Programmeren is bedoeld voor developers die bekend zijn met C++ maar die zich willen verdiepen in de nieuwste en meest geavanceerde technieken en mogelijkheden van de taal.

    Voorkennis Cursus Modern C++

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

    Uitvoering Training Modern C++

    De theorie wordt behandeld aan de hand van presentaties. 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 Modern C++

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

    Cursus Modern C++ Programmeren
  • Cursus Modern C++ Programmeren : Modules

    Module 1 : Modern C++ Features

    Module 2 : Move Semantics

    Module 3 : Inheritance

    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
    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
    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

    Module 5 : Operator Overloading

    Module 6 : Templates

    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
    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
    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

    Module 8 : Multiple Threads

    Module 9 : Synchronization

    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
    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
    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

    Module 11 : Standard Template Library

    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
    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
  • Cursus Modern C++ Programmeren : Algemeen

    Lees de algemene cursus informatie
  • Cursus Modern C++ Programmeren : Reviews

    Maxim : Sioux
    Good material with nice articles. Great coverage of C++ 11, 14 and 17 featurures.
  • Cursus Modern C++ Programmeren : Certificaat