fbpx

Cursus Advanced C++ Programmeren

In de cursus Advanced 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 Advanced 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 geavanceerde mogelijkheden van de Standard Template Library STL.

  • Cursus Advanced C++ Programmeren : Training

    Doelgroep Cursus Advanced C++ Programmeren

    De cursus Advanced C++ 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++ Programmeren

    Om aan deze cursus deel te nemen is kennis van de basis concepten van C++ en uitgebreide ervaring met programmeren in C++ vereist. De deelnemers moeten vertrouwd zijn met onderwerpen als operator overloading, templates, virtual functions en polymorfisme.

    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.

    Officieel Certificaat Advanced C++ Programmeren

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

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

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

    Twan : Vitestro
    Great course to get a deeper understanding of Modern C++. It was also very nice to see the links between C++ and other languages. Even my personal requests of treating topics that were strictly speaking out of scope were fitted into the course.
  • Cursus Advanced C++ Programmeren : Certificaat