• Aide
  • Eurêkoi Eurêkoi

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
  • 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