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.