C++
Résumé
Un mémento des bases et des notions du langage C++, décrivant tous ses éléments et ses différentes versions, dont celles qui recourent aux conteneurs, aux pointeurs intelligents et à la gestion automatique de la mémoire. A l'usage de tous les développeurs, il présente les fonctions, les variables, les constantes, les opérations de base, les environnements de développement et les compilateurs.
- Éditeur(s)
-
Date
- DL 2020
-
Notes
- La couv. porte en plus : "Modèle objet, classes, templates, standard template library [STL], C++ ISO11, 14, 17 et 20" ; "Les + en ligne"
- La 4e de couv. indique : "Le code source des exemples est disponible en téléchargement : https://github.com/ChristophePichaud/Aide-Memoire-CPP-Moderne"
-
Langues
- Français
-
Description matérielle
- 1 vol. (XVI-248 p.) : ill. ; 19 cm
- Collections
- Sujet(s)
-
ISBN
- 978-2-10-080712-3
-
Indice
- 681.229 Langages C
-
Quatrième de couverture
-
C++
C++ est efficace dans l'abstraction, l'orienté objet, le code bas-niveau, les templates et la génération de code inline. Depuis 40 ans, C++ est un survivant. Il est supérieur à Java et C# qui étaient censés l'éliminer. C++ reste le langage avec lequel est fait Windows, Office (Word, Excel, PowerPoint, Outlook), Chrome, VLC, Linux, GIMP, Photoshop, etc.
Le langage C++, qui fait partie des outils indispensables pour le développeur, a profondément évolué au cours des dix dernières années.
Cet aide-mémoire décrit tous les éléments du langage et de la STL (Standard Template Library) et présente toutes les nouveautés du C++11, 14, 17 et 20.
Il démarre par l'apprentissage des bases avant de présenter les notions du C++ moderne qui utilisent les conteneurs (vector, list, map, etc.), les pointeurs intelligents et la gestion automatique de la mémoire et enfin la bibliothèque standard STL.
-
-
Tables des matières
-
C++
Christophe Pichaud
Dunod
- Préface XIII
- Avant-propos XV
- À propos de l'auteur XXI
- Introduction à C++ 1
- I. 1 Histoire de C++1
- I. 2 Le C++ moderne3
- I. 3 Les efforts du marketing et les langages « productifs »3
- I. 4 Le marché des logiciels grand public3
- Partie 1 Le langage5
- 1. Les fondamentaux 7
- 1.1 Mon premier programme8
- 1.2 Ma première fonction8
- 1.3 Les fonctions9
- 1.4 Les types et les variables12
- 1.5 Initialisation12
- 1.6 Scope et cycle de vie des objets13
- 1.7 Les constantes13
- 1.8 Les pointeurs et références14
- 1.9 Les types utilisateur17
- 1.10 Conseils21
- 2. Les variables et les types 22
- 2.1 Mots-clés de C++23
- 2.2 Conversions de type23
- 2.3 Les literals24
- 2.4 Définitions de variable25
- 2.5 Le mot-clé const26
- 2.6 Gestion de types27
- 2.7 Gestion des en-têtes28
- 2.8 Conseils29
- 3. Strings, vectors, Itérateur, Array 30
- 3.1 L'en-tête <string>30
- 3.2 L'en-tête <regex>33
- 3.3 L'en-tête <locale> et <codecvt>36
- 3.4 Le type vector<T>37
- 3.5 Le concept d'itérateur ou iterator40
- 3.6 Conseils42
- 4. Les expressions 43
- 4.1 Les opérateurs arithmétiques43
- 4.2 Les opérateurs logiques43
- 4.3 Les opérateurs incrément et décrément44
- 4.4 Les opérateurs d'accès aux membres44
- 4.5 L'opérateur conditionnel45
- 4.6 Les opérateurs binaires45
- 4.7 L'opérateur sizeof45
- 4.8 Conversions de types45
- 4.9 Conseils47
- 5. Les déclarations 48
- 5.1 Les déclarations simples48
- 5.2 La déclaration conditionnelle switch50
- 5.3 Les déclarations itératives51
- 5.4 Les déclarations de sauts53
- 5.5 Les blocks try et la gestion des exceptions54
- 6. Les fonctions 58
- 6.1 Écrire une fonction58
- 6.2 Appeler une fonction59
- 6.3 Les paramètres d'une fonction59
- 6.4 Objet local static dans une fonction59
- 6.5 Les déclarations de fonctions60
- 6.6 La compilation séparée60
- 6.7 Passage des arguments61
- 6.8 Fonctions avec des arguments variables62
- 6.9 Types de retour et déclaration return63
- 6.10 Fonctions surchargées64
- 6.11 Utilisations spéciales64
- 6.12 Pointeurs de fonctions66
- 6.13 Conseils67
- 7. Les classes 68
- 7.1 Définition68
- 7.2 Contrôle d'accès et encapsulation71
- 7.3 Séparation des fichiers .h et .cpp73
- 7.4 Fonctionnalités diverses75
- 7.5 Les constructeurs (suite)80
- 7.6 Les membres static83
- 7.7 Conseils85
- 8. Le programme de démo 86
- 8.1 Analyse du main90
- 8.2 Analyse de MusicPlayer.h et MusicPlayer.cpp90
- 8.3 Exécution du main91
- 8.4 Conseils91
- 9. Les opérations de copie et de déplacement 92
- 9.1 Copie, affectation et destruction92
- 9.2 Opérations de déplacement96
- 9.3 Conseils100
- 10. Les opérations de surcharge 101
- 10.1 Les concepts101
- 10.2 Appels de fonctions en direct102
- 10.3 Les opérateurs d'entrée et de sortie102
- 10.4 Les opérateurs arithmétiques104
- 10.5 L'opérateur =105
- 10.6 L'opérateur []105
- 10.7 Les opérateurs ++ et --105
- 10.8 Les opérateurs * et ->106
- 10.9 L'opérateur () d'appel de fonction106
- 10.10 Conseils106
- 11. Programmation orientée objet 107
- 11.1 Introduction à l'OOP ou POO107
- 1 1.2 Classes de base et classes dérivées111
- 11.3 Classes abstraites112
- 11.4 L'héritage multiple115
- 11.5 Pointeurs intelligents ou Smart Pointers117
- 11.6 Technique RAII119
- 11.7 Conseils119
- 12. Les templates 120
- 12.1 Concepts et programmation générique121
- 12.2 Les fonctions templates122
- 12.3 Instanciation d'une fonction template123
- 12.4 Les paramètres de type template124
- 12.5 La compilation des templates124
- 12.6 Les templates de classes126
- 12.7 Spécialisation de template131
- 12.8 Facilités de déclaration dans les templates133
- 12.9 Conseils136
- Partie 2 La bibliothèque standard (STL)137
- 13. Les utilitaires 139
- 13.1 L'en-tête <utility>139
- 13.2 L'en-tête <tuple>141
- 13.3 L'en-tête <cstddef>142
- 13.4 L'en-tête <memory>143
- 13.5 L'en-tête <functional>144
- 13.6 L'en-tête <initializer_list>149
- 13.7 L'en-tête <optional>151
- 13.8 L'en-tête <variant>153
- 13.9 L'en-tête <any>154
- 13.10 Les en-têtes <chrono> et <ratio>154
- 13.11 Les en-têtes <typeinfo> et <typeindex>157
- 13.12 L'en-tête <type_traits>157
- 13.13 Autres éléments157
- 13.14 L'en-tête <string_view>159
- 14. Opérations numériques et math 161
- 14.1 L'en-tête <cmath>161
- 14.2 L'en-tête <algorithm>165
- 14.3 L'en-tête <cstdint>165
- 14.4 L'en-tête <limits>166
- 14.5 L'en-tête <complex>167
- 14.6 L'en-tête <ratio>167
- 14.7 L'en-tête <random>168
- 14.8 L'en-tête <valarray>170
- 15. Les containers 171
- 15.1 L'en-tête <iterator>171
- 15.2 L'en-tête <vector>172
- 15.3 L'en-tête <array>173
- 15.4 Les en-têtes <list> et <forward_list>174
- 15.5 Opérations sur les containers175
- 15.6 L'en-tête <bitset>178
- 15.7 L'en-tête <queue>179
- 15.8 L'en-tête <map>180
- 15.9 L'en-tête <set>180
- 15.10 Opérations de recherche181
- 15.11 Déplacement de noeuds181
- 15.12 Fusion de containers181
- 15.13 Référence182
- 15.14 Les en-têtes <unordered_map> et <unordered_set>184
- 16. Les algorithmes 186
- 16.1 L'en-tête <algorithm>186
- 16.2 L'en-tête <numeric>197
- 16.3 L'en-tête <memory>198
- 16.4 L'en-tête <execution>198
- 16.5 L'en-tête <iterator>199
- 1 7. Les entrées/sorties200
- 17.1 Les flux (streams)200
- 17.2 L'en-tête <ios>200
- 17.3 Les en-têtes <ios> et <iomanip>202
- 17.4 L'en-tête <ostream>204
- 17.5 L'en-tête <iostream>205
- 17.6 L'en-tête <istream>205
- 17.7 Les modes d'ouverture dans <ios>206
- 17.8 L'en-tête <sstream>207
- 17.9 L'en-tête <fstream>207
- 17.10 Flux et types utilisateurs208
- 17.11 L'en-tête <iterator>208
- 17.12 L'en-tête <filesystem>209
- 17.13 L'en-tête <cstdio>215
- 18. Le multithreading 217
- 18.1 L'en-tête <thread>217
- 18.2 L'en-tête <future>225
- 18.3 L'en-tête <condition_variable>227
- 18.4 L'en-tête <atomic>227
- 19. Les évolutions du langage 230
- 19.1 Fonctionnalités C++11230
- 19.2 Fonctionnalités C++14231
- 19.3 Fonctionalités C++17231
- 19.4 Composants STL C++11232
- 19.5 Composants STL C++14233
- 19.6 Composants STL C++17233
- 20. Le futur standard C++20234
- 20.1 Modules234
- 20.2 Coroutines235
- 20.3 Concepts237
- 20.4 Span239
- Bibliographie 241
- Index 245
-
-
Origine de la notice:
- BPI
-
Disponible - 681.229 PIC
Niveau 3 - Informatique