Aperçu du cours
Objectif de formation : Maîtriser les concepts avancés du langage C++
Prérequis
- Expérience pratique de programmation C++
Fonctionnalités
- Utiliser des bonnes pratiques concernant l'usage des classes
- Connaître le besoin et les pièges des conversions
- Connaître l’intérêt du Run-time type information
- Comprendre l’utilisation des pointeurs
- Programmer les exceptions de manière efficace
- Comprendre comment manipuler les templates & les design patterns
- Gérer un objet qui se comporte comme une fonction
- Déployer la puissance de la bibliothèque STL
- Concevoir des idiomes
- Appréhender les possibilités de la bibliothèque Boost
- Comprendre les principales nouveautés du C++11
Public ciblé
- Développeurs
Détails
- 105 Sections
- 740 Lessons
- 28 heures
Expand all sectionsCollapse all sections
- Classes en C++7
- Classes en C++7
- Classes en C++7
- Classes en C++7
- Classes en C++7
- Classes en C++7
- Classes en C++7
- Conversions en C++6
- Conversions en C++6
- Conversions en C++6
- Conversions en C++6
- Conversions en C++6
- Conversions en C++6
- Conversions en C++6
- Identification de type à l'exécution4
- Identification de type à l'exécution4
- Identification de type à l'exécution4
- Identification de type à l'exécution4
- Identification de type à l'exécution4
- Identification de type à l'exécution4
- Identification de type à l'exécution4
- Pointeurs & membres de classes3
- Pointeurs & membres de classes3
- Pointeurs & membres de classes3
- Pointeurs & membres de classes3
- Pointeurs & membres de classes3
- Pointeurs & membres de classes3
- Pointeurs & membres de classes3
- Smart pointers6
- Smart pointers6
- Smart pointers6
- Smart pointers6
- Smart pointers6
- Smart pointers6
- Smart pointers6
- Traitement des exceptions11
- 36.1Concept d’exceptions
- 36.2Classes d’exceptions
- 36.3Lever une exception
- 36.4Gestionnaires d’exceptions
- 36.5Liste d’exceptions
- 36.6Hiérarchies d’exceptions
- 36.7Classes d’exceptions standards
- 36.8Constructeurs & exceptions
- 36.9Exceptions & gestion des ressources
- 36.10Best practices
- 36.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Traitement des exceptions11
- 37.1Concept d’exceptions
- 37.2Classes d’exceptions
- 37.3Lever une exception
- 37.4Gestionnaires d’exceptions
- 37.5Liste d’exceptions
- 37.6Hiérarchies d’exceptions
- 37.7Classes d’exceptions standards
- 37.8Constructeurs & exceptions
- 37.9Exceptions & gestion des ressources
- 37.10Best practices
- 37.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Traitement des exceptions11
- 38.1Concept d’exceptions
- 38.2Classes d’exceptions
- 38.3Lever une exception
- 38.4Gestionnaires d’exceptions
- 38.5Liste d’exceptions
- 38.6Hiérarchies d’exceptions
- 38.7Classes d’exceptions standards
- 38.8Constructeurs & exceptions
- 38.9Exceptions & gestion des ressources
- 38.10Best practices
- 38.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Traitement des exceptions11
- 39.1Concept d’exceptions
- 39.2Classes d’exceptions
- 39.3Lever une exception
- 39.4Gestionnaires d’exceptions
- 39.5Liste d’exceptions
- 39.6Hiérarchies d’exceptions
- 39.7Classes d’exceptions standards
- 39.8Constructeurs & exceptions
- 39.9Exceptions & gestion des ressources
- 39.10Best practices
- 39.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Traitement des exceptions11
- 40.1Concept d’exceptions
- 40.2Classes d’exceptions
- 40.3Lever une exception
- 40.4Gestionnaires d’exceptions
- 40.5Liste d’exceptions
- 40.6Hiérarchies d’exceptions
- 40.7Classes d’exceptions standards
- 40.8Constructeurs & exceptions
- 40.9Exceptions & gestion des ressources
- 40.10Best practices
- 40.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Traitement des exceptions11
- 41.1Concept d’exceptions
- 41.2Classes d’exceptions
- 41.3Lever une exception
- 41.4Gestionnaires d’exceptions
- 41.5Liste d’exceptions
- 41.6Hiérarchies d’exceptions
- 41.7Classes d’exceptions standards
- 41.8Constructeurs & exceptions
- 41.9Exceptions & gestion des ressources
- 41.10Best practices
- 41.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Traitement des exceptions11
- 42.1Concept d’exceptions
- 42.2Classes d’exceptions
- 42.3Lever une exception
- 42.4Gestionnaires d’exceptions
- 42.5Liste d’exceptions
- 42.6Hiérarchies d’exceptions
- 42.7Classes d’exceptions standards
- 42.8Constructeurs & exceptions
- 42.9Exceptions & gestion des ressources
- 42.10Best practices
- 42.11Travaux Pratiques : implémentation d’une gestion d’exceptions dans une application effectuant des entrées-sorties
- Templates9
- 43.1Introduction
- 43.2Forces & faiblesses
- 43.3Syntaxe des templates de fonctions
- 43.4Syntaxe des templates de classes
- 43.5Syntaxe des templates de méthodes
- 43.6Instanciation des templates de fonctions
- 43.7Instanciation des templates de classes
- 43.8Spécialisation partielle ou totale des templates
- 43.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Templates9
- 44.1Introduction
- 44.2Forces & faiblesses
- 44.3Syntaxe des templates de fonctions
- 44.4Syntaxe des templates de classes
- 44.5Syntaxe des templates de méthodes
- 44.6Instanciation des templates de fonctions
- 44.7Instanciation des templates de classes
- 44.8Spécialisation partielle ou totale des templates
- 44.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Templates9
- 45.1Introduction
- 45.2Forces & faiblesses
- 45.3Syntaxe des templates de fonctions
- 45.4Syntaxe des templates de classes
- 45.5Syntaxe des templates de méthodes
- 45.6Instanciation des templates de fonctions
- 45.7Instanciation des templates de classes
- 45.8Spécialisation partielle ou totale des templates
- 45.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Templates9
- 46.1Introduction
- 46.2Forces & faiblesses
- 46.3Syntaxe des templates de fonctions
- 46.4Syntaxe des templates de classes
- 46.5Syntaxe des templates de méthodes
- 46.6Instanciation des templates de fonctions
- 46.7Instanciation des templates de classes
- 46.8Spécialisation partielle ou totale des templates
- 46.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Templates9
- 47.1Introduction
- 47.2Forces & faiblesses
- 47.3Syntaxe des templates de fonctions
- 47.4Syntaxe des templates de classes
- 47.5Syntaxe des templates de méthodes
- 47.6Instanciation des templates de fonctions
- 47.7Instanciation des templates de classes
- 47.8Spécialisation partielle ou totale des templates
- 47.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Templates9
- 48.1Introduction
- 48.2Forces & faiblesses
- 48.3Syntaxe des templates de fonctions
- 48.4Syntaxe des templates de classes
- 48.5Syntaxe des templates de méthodes
- 48.6Instanciation des templates de fonctions
- 48.7Instanciation des templates de classes
- 48.8Spécialisation partielle ou totale des templates
- 48.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Templates9
- 49.1Introduction
- 49.2Forces & faiblesses
- 49.3Syntaxe des templates de fonctions
- 49.4Syntaxe des templates de classes
- 49.5Syntaxe des templates de méthodes
- 49.6Instanciation des templates de fonctions
- 49.7Instanciation des templates de classes
- 49.8Spécialisation partielle ou totale des templates
- 49.9Travaux Pratiques : Implémentation d’une fonction template, d’une classe template puis d’une classe template template
- Premiers pas avec les Design Patterns5
- Premiers pas avec les Design Patterns5
- Premiers pas avec les Design Patterns5
- Premiers pas avec les Design Patterns5
- Premiers pas avec les Design Patterns5
- Premiers pas avec les Design Patterns5
- Premiers pas avec les Design Patterns5
- Foncteurs5
- Foncteurs5
- Foncteurs5
- Foncteurs5
- Foncteurs5
- Foncteurs5
- Foncteurs5
- Bibliothèque STL7
- Bibliothèque STL7
- Bibliothèque STL7
- Bibliothèque STL7
- Bibliothèque STL7
- Bibliothèque STL7
- Bibliothèque STL7
- Idiomes5
- Idiomes5
- Idiomes5
- Idiomes5
- Idiomes5
- Idiomes5
- Idiomes5
- Méta-programmation4
- Méta-programmation4
- Méta-programmation4
- Méta-programmation4
- Méta-programmation4
- Méta-programmation4
- Méta-programmation4
- Bibliothèque Boost11
- Bibliothèque Boost11
- Bibliothèque Boost11
- Bibliothèque Boost11
- Bibliothèque Boost11
- Bibliothèque Boost11
- Bibliothèque Boost11
- Nouveautés de C++1120
- 92.1Mot-clés auto, decltype & constexpr
- 92.2Définition des rvalue références
- 92.3Application des rvalue références : déplacement & transfert parfait
- 92.4Utilisation de std::move & std::forward
- 92.5Les fonctions lambda
- 92.6Les variadic templates
- 92.7Initialisation des données membres non-statiques
- 92.8Alias de template
- 92.9Constructeurs délégués
- 92.10Déclarations étendues de l’amitié
- 92.11Surcharge explicite de la virtualité
- 92.12Constante nullptr
- 92.13Opérateurs de conversion explicites
- 92.14Tour d’horizon des types POD (Plain Old Data) revisités
- 92.15Types locaux et non nommés comme arguments template
- 92.16Énumérations à typage fort
- 92.17Fonctions par défaut et supprimées
- 92.18Espaces de nom inline
- 92.19Propagation des exceptions
- 92.20Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Nouveautés de C++1121
- 93.1Mot-clés auto, decltype & constexpr
- 93.2Définition des rvalue références
- 93.3Application des rvalue références : déplacement & transfert parfait
- 93.4Utilisation de std::move & std::forward
- 93.5Les fonctions lambda
- 93.6Les variadic templates
- 93.7Initialisation des données membres non-statiques
- 93.8Alias de template
- 93.9Constructeurs délégués
- 93.10Déclarations étendues de l’amitié
- 93.11Surcharge explicite de la virtualité
- 93.12Constante nullptr
- 93.13« Range-based » for
- 93.14Opérateurs de conversion explicites
- 93.15Tour d’horizon des types POD (Plain Old Data) revisités
- 93.16Types locaux et non nommés comme arguments template
- 93.17Énumérations à typage fort
- 93.18Fonctions par défaut et supprimées
- 93.19Espaces de nom inline
- 93.20Propagation des exceptions
- 93.21Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Nouveautés de C++1121
- 94.1Mot-clés auto, decltype & constexpr
- 94.2Définition des rvalue références
- 94.3Application des rvalue références : déplacement & transfert parfait
- 94.4Utilisation de std::move & std::forward
- 94.5Les fonctions lambda
- 94.6Les variadic templates
- 94.7Initialisation des données membres non-statiques
- 94.8Alias de template
- 94.9Constructeurs délégués
- 94.10Déclarations étendues de l’amitié
- 94.11Surcharge explicite de la virtualité
- 94.12Constante nullptr
- 94.13« Range-based » for
- 94.14Opérateurs de conversion explicites
- 94.15Tour d’horizon des types POD (Plain Old Data) revisités
- 94.16Types locaux et non nommés comme arguments template
- 94.17Énumérations à typage fort
- 94.18Fonctions par défaut et supprimées
- 94.19Espaces de nom inline
- 94.20Propagation des exceptions
- 94.21Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Nouveautés de C++1121
- 95.1Mot-clés auto, decltype & constexpr
- 95.2Définition des rvalue références
- 95.3Application des rvalue références : déplacement & transfert parfait
- 95.4Utilisation de std::move & std::forward
- 95.5Les fonctions lambda
- 95.6Les variadic templates
- 95.7Initialisation des données membres non-statiques
- 95.8Alias de template
- 95.9Constructeurs délégués
- 95.10Déclarations étendues de l’amitié
- 95.11Surcharge explicite de la virtualité
- 95.12Constante nullptr
- 95.13« Range-based » for
- 95.14Opérateurs de conversion explicites
- 95.15Tour d’horizon des types POD (Plain Old Data) revisités
- 95.16Types locaux et non nommés comme arguments template
- 95.17Énumérations à typage fort
- 95.18Fonctions par défaut et supprimées
- 95.19Espaces de nom inline
- 95.20Propagation des exceptions
- 95.21Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Nouveautés de C++1121
- 96.1Mot-clés auto, decltype & constexpr
- 96.2Définition des rvalue références
- 96.3Application des rvalue références : déplacement & transfert parfait
- 96.4Utilisation de std::move & std::forward
- 96.5Les fonctions lambda
- 96.6Les variadic templates
- 96.7Initialisation des données membres non-statiques
- 96.8Alias de template
- 96.9Constructeurs délégués
- 96.10Déclarations étendues de l’amitié
- 96.11Surcharge explicite de la virtualité
- 96.12Constante nullptr
- 96.13« Range-based » for
- 96.14Opérateurs de conversion explicites
- 96.15Tour d’horizon des types POD (Plain Old Data) revisités
- 96.16Types locaux et non nommés comme arguments template
- 96.17Énumérations à typage fort
- 96.18Fonctions par défaut et supprimées
- 96.19Espaces de nom inline
- 96.20Propagation des exceptions
- 96.21Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Nouveautés de C++1121
- 97.1Mot-clés auto, decltype & constexpr
- 97.2Définition des rvalue références
- 97.3Application des rvalue références : déplacement & transfert parfait
- 97.4Utilisation de std::move & std::forward
- 97.5Les fonctions lambda
- 97.6Les variadic templates
- 97.7Initialisation des données membres non-statiques
- 97.8Alias de template
- 97.9Constructeurs délégués
- 97.10Déclarations étendues de l’amitié
- 97.11Surcharge explicite de la virtualité
- 97.12Constante nullptr
- 97.13« Range-based » for
- 97.14Opérateurs de conversion explicites
- 97.15Tour d’horizon des types POD (Plain Old Data) revisités
- 97.16Types locaux et non nommés comme arguments template
- 97.17Énumérations à typage fort
- 97.18Fonctions par défaut et supprimées
- 97.19Espaces de nom inline
- 97.20Propagation des exceptions
- 97.21Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Nouveautés de C++1120
- 98.1Mot-clés auto, decltype & constexpr
- 98.2Définition des rvalue références
- 98.3Application des rvalue références : déplacement & transfert parfait
- 98.4Utilisation de std::move & std::forward
- 98.5Les fonctions lambda
- 98.6Les variadic templates
- 98.7Initialisation des données membres non-statiques
- 98.8Alias de template
- 98.9Constructeurs délégués
- 98.10Déclarations étendues de l’amitié
- 98.11Surcharge explicite de la virtualité
- 98.12Constante nullptr
- 98.13Opérateurs de conversion explicites
- 98.14Tour d’horizon des types POD (Plain Old Data) revisités
- 98.15Types locaux et non nommés comme arguments template
- 98.16Énumérations à typage fort
- 98.17Fonctions par défaut et supprimées
- 98.18Espaces de nom inline
- 98.19Propagation des exceptions
- 98.20Travaux Pratiques : Mise en pratiques des nouveaux outils de C++
- Performances2
- Performances2
- Performances2
- Performances2
- Performances2
- Performances2
- Performances2