Opleiding : C++-expert, taalontwikkelingen (van C++ 11 naar 20)

C++-expert, taalontwikkelingen (van C++ 11 naar 20)




Deze cursus stelt u in staat om de nieuwe functies te assimileren die zijn geïntroduceerd door de nieuwe C++ standaarden. U behandelt de mogelijkheden van functioneel programmeren, beheerst geheugenbeheer met slimme pointers en maakt gebruik van de andere nieuwe functies van de standaard C++ bibliotheek.


INTER
INTRA
OP MAAT

Praktijkcursus ter plaatse of via klasverband op afstand

Ref. VEC
  3d - 21u00
Prijs : Neem contact met ons op




Deze cursus stelt u in staat om de nieuwe functies te assimileren die zijn geïntroduceerd door de nieuwe C++ standaarden. U behandelt de mogelijkheden van functioneel programmeren, beheerst geheugenbeheer met slimme pointers en maakt gebruik van de andere nieuwe functies van de standaard C++ bibliotheek.


Pedagogische doelstellingen
Aan het einde van de training is de deelnemer in staat om:
Begrijp de nieuwe functies en verbeteringen van de C++ taal
Lambda-uitdrukkingen gebruiken
Prestaties verbeteren met verplaatsingssemantiek
Objecttoewijzing en -vernietiging beheren met slimme aanwijzers
Een toepassing met meerdere threads ontwikkelen

Doelgroep
C++ ontwikkelaars die meer willen weten over de nieuwe functies die gedefinieerd zijn door de C++11 standaard.

Voorafgaande vereisten
Goede kennis van de taal C++. Praktische ervaring met programmeren in deze taal wordt aanbevolen.

Praktische modaliteiten
Praktisch werk
Praktische programmeeroefeningen helpen u de verschillende behandelde concepten te begrijpen.

Opleidingsprogramma

1
De komst van C++11

  • De verschillende C++98, C++03, C++11=, C++14, C++17, C++20 standaarden.
  • Wat is er nieuw in C++11 en de doelstellingen van deze standaard. De toekomst van Boost en STL.
  • De kwestie van de compatibiliteit van oude codes.
  • De beschikbaarheid van ontwikkeltools (compilers, debuggers, IDE, enz.).
Praktisch werk
Verificatie van de tooling met behulp van de meegeleverde C++11-code.

2
Taalverbeteringen

  • Sterk getypeerde enums.
  • Het sleutelwoord auto en decltype om typen te vereenvoudigen.
  • De interval-gebaseerde lus.
  • C++20 coroutines.
  • Constexpr voor compileertijd evaluatie.
  • C++20 modules.
  • Variadische sjablonen, C++20 schotelconcepten...
Praktisch werk
Implementatie van verbeteringen.

3
Wijzigingen in klassen

  • Constructor delegatie en overervingsbeperkingen.
  • De nieuwe semantiek van verplaatsing en de verplaatsingsconstructor.
  • De override, definitieve =delete, =default richtlijnen.
  • Concept van C++20-module
Praktisch werk
Klassen maken.

4
Draad gebruiken

  • Een thread declareren en uitvoeren. Wachten op het einde van de uitvoering met join().
  • Gegevens lokaal voor een thread beheren.
  • Een resultaat herstellen met future<> en async().
Praktisch werk
Praktisch werk

5
Multithread sequentiële code en meet de winst in termen van uitvoeringstijd.

Praktisch werk
De nieuwe tupelcontainer.

6
Hash-gebaseerde unordered_set en unordered_map containers.

  • Bereiken met std ::view voor on-the-fly evaluatie van C++20.
  • Tijdbeheer met de chrono namespace.
  • String-opmaak met C++20.
Praktisch werk
Nieuwe functies implementeren.

7
Functioneel programmeren met lambda-uitdrukkingen

  • Declaratie, typering, implementatie en gebruik.
Praktisch werk
Afsluitingsbeheer, met vastlegging door waarde of door verwijzing van variabelen gekoppeld aan de context.