Formation Le langage C++ "moderne"
Ref :Les prochaines dates par ville
[+]
Pré-requis
Il est important de déjà bien connaître le langage C, pour lequel on ne reprendra pas les bases de sa syntaxe et de son fonctionnement (en particulier pour tout ce qu'on retrouve en C++).
Matériel requis :
Dans tous les cas :
Muni d'un PC sous Linux, avec accès à Internet si possible, il vous faudra posséder un environnement de développement C++23 fonctionnel (avec gcc-13 ou 14, complété par "make" et "cmake" et par un éditeur de code source, "Visual Studio Code" par exemple) :
- Pour simplifier cette mise en place, une machine virtuelle (VM) VirtualBox sera mise à votre disposition quelques jours avant le début de la formation. Votre PC devra disposer de ce logiciel et d'une dizaine de gigaoctets libres en espace de stockage.
- Vous pourrez néanmoins concocter votre environnement favori avant le début de la formation, en suivant les exigences ci-dessus.
Pour les formations en distanciel :
- L'accès à Internet est évidemment requis, et l'utilisation de Google Meet devra être permise.
Public concerné
Développeurs C confirmés, sur cibles embarquées ou non.
Objectifs
Faire un tour d'horizon concret du C++ "moderne" pour être capable d'intervenir sur un code source mêlant les versions du langage C++ de C++11 à 23.
Programme détaillé
1. Vocabulaire
2. Introduction
3. Directives
4. Le langage C++
- Unités de compilation
- Déclaration, définition, initialisation, affectation
- Fonctions, structures, variables et énumérations
- Conversions de type
- Espaces de noms
- Variables constantes
- Pointeurs
- Références
- Déduction automatique de type
- Opérateurs
- Surcharge
- Évaluation à la compilation
- Expressions lambda
- Substituts de fonction
5. Les classes en C++
- Déclaration et définition des classes
- Fonctions membres spéciales
- Membres statiques
- Opérateurs
- "Functors"
6. Les templates en C++
- Entités templatisées
- Déduction de type
- "SFINAE"
- Concepts / Exigences
7. Gestion de la "responsabilité"
- "lvalues" et "rvalues"
- Déplacement d’objets
8. Exceptions
9. Gestion de la mémoire
- Durée de vie et "responsabilité"
- Pointeurs intelligents
10. La bibliothèque standard du C++
- Aperçu
- Modules les plus intéressants
11. Le C++ pour les cibles embarquées
- Interopérabilité entre C et C++
- Implémentations "freestanding" et "hosted"
Modalités pédagogiques
Tous nos stages reposent sur une alternance entre transfert de savoir-faire et d’attitudes, avec des exercices concrets, des tests avec les participants et des analyses de situations. Cette méthode permet une appropriation rapide des sujets par les stagiaires.
Notre formateur s’appuie sur les connaissances préexistantes du stagiaire. Il combine diverses modalités pédagogiques : des exposés théoriques, des temps d’échanges, des études de cas, permettant à l’apprenant d’être acteur de la séance de formation.
Lors des formations en groupe, l’accent est mis sur l’interactivité, intégrant ainsi la possibilité de progresser en équipe et de réussir ensemble.
Le scénario de nos cours est adapté afin de faire directement référence aux attentes des stagiaires. Les exemples et exercices sont, dans la mesure du possible, au plus près des missions réalisées par vos collaborateurs.
En effet, notre processus de personnalisation d’accès à la formation nous conduit à choisir et combiner différentes méthodes classiques qui ont fait preuve de leur efficacité, en fonction des objectifs à atteindre et du public reçu en formation.

!
!