
Un tour d'horizon de C++ Troisième édition
Description
Introduction au livre
Voici le dernier guide C++ de Bjarne Stroustrup, le créateur du C++. Chaque chapitre aborde les composants de base du C++, tels que les types, les classes, les opérations, les modèles, les conteneurs et les exceptions, tout en expliquant les nouveaux modules, concepts et coroutines ajoutés au C++20, en lien avec les méthodes de développement modernes telles que la programmation générique et le multitâche coopératif. Il indique de manière concise et précise ce que vous devez savoir concernant les différentes versions de C++. |
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
Chapitre 1.
Construire les fondations
1.1 Introduction
1.2 Programme
1.3 Fonction
1.4 Types, variables et opérations arithmétiques
1.5 Portée et durée de vie
1,6 constante
1.7 Pointeurs, tableaux et références
1.8 Test
1.9 Cartographie avec matériel
1.10 Conseils
Chapitre 2.
Type personnalisé
2.1 Introduction
2.2 Structure
2.3 Classe
2.4 Énumération
2.5 Biens communs
2.6 Conseils
Chapitre 3 Modularité
3.1 Introduction
3.2 Compilation séparée
3.3 Espaces de noms
3.4 Arguments et valeurs de retour de la fonction
3.5 Conseils
Chapitre 4.
Gestion des erreurs
4.1 Introduction
4.2 Exceptions
4.3 Invariant
4.4 Alternatives de gestion des erreurs
4.5 Assertion
4.6 Conseils
Chapitre 5.
classe
5.1 Introduction
5.2 Type de béton
5.3 Types abstraits
5.4 Fonctions virtuelles
5.5 Hiérarchie des classes
5.6 Conseils
Chapitre 6.
Opérations requises
6.1 Introduction
6.2 Copie et déplacement
6.3 Gestion des ressources
6.4 Surcharge de l'opérateur
6.5 Opérations traditionnelles
6.6 Littéraux définis par l'utilisateur
6.7 Conseils
Chapitre 7.
Modèle
7.1 Introduction
7.2 Types de paramétrage
7.3 Opérations paramétrées
7.4 Mécanisme de modèle
7.5 Conseils
Chapitre 8.
Concepts et programmation générique
8.1 Introduction
8.2 Concept
8.3 Programmation générique
8.4 Modèles d'arguments variables
8.5 Modèle de compilation de modèles
8.6 Conseils
Chapitre 9.
Parcourez la bibliothèque
9.1 Introduction
9.2 Composants de la bibliothèque standard
9.3 Configuration de la bibliothèque standard
9.4 Conseils
Chapitre 10.
Chaînes de caractères et expressions régulières
10.1 Introduction
10.2 Cordes
10.3 Vue de chaîne
10.4 Expressions régulières
10.5 Conseils
Chapitre 11.
Entrée et sortie
11.1 Introduction
11.2 Sortie
11.3 Entrée
11.4 État des E/S
11.5 E/S de types définis par l'utilisateur
11.6 Formatage de la sortie
Flux 11.7
11,8 E/S de type C
Système de fichiers 11.9
11.10 Conseils
Chapitre 12.
récipient
12.1 Introduction
12.2 vecteur
Liste 12.3
12.4 liste_suivante
Carte 12.5
12.6 unordered_map
12.7 Allocateur
12.8 Aperçu du conteneur
12.9 Conseils
Chapitre 13.
algorithme
13.1 Introduction
13.2 Utilisation des itérateurs
13.3 Types d'itérateurs
13.4 Utilisation des prédicats
13.5 Aperçu de l'algorithme
13.6 Algorithmes parallèles
13.7 Conseils
Chapitre 14.
gamme
14.1 Introduction
14,2 vues
14.3 Constructeur
14.4 Pipeline
14.5 Aperçu du concept
14.6 Conseils
Chapitre 15.
Pointeurs et conteneurs
15.1 Introduction
15.2 Pointeurs
15.3 Conteneur
15.4 Alternative
15.5 Conseils
Chapitre 16.
Utilitaire
16.1 Introduction
16,2 heures
16.3 Réglage de la fonction
16.4 Fonctions de type
16.5 emplacement_source
16.6 déplacer() et avancer()
16.7 Manipulation de bits
16.8 Fin du programme
16.9 Conseils
Chapitre 17.
nombre
17.1 Introduction
17.2 Fonctions mathématiques
17.3 Algorithme numérique
17.4 Nombres complexes
17.5 Nombres aléatoires
17.6 Arithmétique vectorielle
17.7 Restrictions d'eau
17.8 Type Alias
17.9 Constantes mathématiques
17.10 Conseils
Chapitre 18.
Exécution simultanée
18.1 Introduction
18.2 Tâches et fils de discussion
18.3 Partage de données
18.4 En attente d'un événement
18.5 Communication relative aux tâches
18.6 Coroutines
18.7 Conseils
Chapitre 19.
Contexte historique et compatibilité
19.1 Histoire
19.2 Évolution des fonctionnalités C++
19.3 Compatibilité C/C++
19.4 Références
19.5 Conseils
supplément.
module standard
Construire les fondations
1.1 Introduction
1.2 Programme
1.3 Fonction
1.4 Types, variables et opérations arithmétiques
1.5 Portée et durée de vie
1,6 constante
1.7 Pointeurs, tableaux et références
1.8 Test
1.9 Cartographie avec matériel
1.10 Conseils
Chapitre 2.
Type personnalisé
2.1 Introduction
2.2 Structure
2.3 Classe
2.4 Énumération
2.5 Biens communs
2.6 Conseils
Chapitre 3 Modularité
3.1 Introduction
3.2 Compilation séparée
3.3 Espaces de noms
3.4 Arguments et valeurs de retour de la fonction
3.5 Conseils
Chapitre 4.
Gestion des erreurs
4.1 Introduction
4.2 Exceptions
4.3 Invariant
4.4 Alternatives de gestion des erreurs
4.5 Assertion
4.6 Conseils
Chapitre 5.
classe
5.1 Introduction
5.2 Type de béton
5.3 Types abstraits
5.4 Fonctions virtuelles
5.5 Hiérarchie des classes
5.6 Conseils
Chapitre 6.
Opérations requises
6.1 Introduction
6.2 Copie et déplacement
6.3 Gestion des ressources
6.4 Surcharge de l'opérateur
6.5 Opérations traditionnelles
6.6 Littéraux définis par l'utilisateur
6.7 Conseils
Chapitre 7.
Modèle
7.1 Introduction
7.2 Types de paramétrage
7.3 Opérations paramétrées
7.4 Mécanisme de modèle
7.5 Conseils
Chapitre 8.
Concepts et programmation générique
8.1 Introduction
8.2 Concept
8.3 Programmation générique
8.4 Modèles d'arguments variables
8.5 Modèle de compilation de modèles
8.6 Conseils
Chapitre 9.
Parcourez la bibliothèque
9.1 Introduction
9.2 Composants de la bibliothèque standard
9.3 Configuration de la bibliothèque standard
9.4 Conseils
Chapitre 10.
Chaînes de caractères et expressions régulières
10.1 Introduction
10.2 Cordes
10.3 Vue de chaîne
10.4 Expressions régulières
10.5 Conseils
Chapitre 11.
Entrée et sortie
11.1 Introduction
11.2 Sortie
11.3 Entrée
11.4 État des E/S
11.5 E/S de types définis par l'utilisateur
11.6 Formatage de la sortie
Flux 11.7
11,8 E/S de type C
Système de fichiers 11.9
11.10 Conseils
Chapitre 12.
récipient
12.1 Introduction
12.2 vecteur
Liste 12.3
12.4 liste_suivante
Carte 12.5
12.6 unordered_map
12.7 Allocateur
12.8 Aperçu du conteneur
12.9 Conseils
Chapitre 13.
algorithme
13.1 Introduction
13.2 Utilisation des itérateurs
13.3 Types d'itérateurs
13.4 Utilisation des prédicats
13.5 Aperçu de l'algorithme
13.6 Algorithmes parallèles
13.7 Conseils
Chapitre 14.
gamme
14.1 Introduction
14,2 vues
14.3 Constructeur
14.4 Pipeline
14.5 Aperçu du concept
14.6 Conseils
Chapitre 15.
Pointeurs et conteneurs
15.1 Introduction
15.2 Pointeurs
15.3 Conteneur
15.4 Alternative
15.5 Conseils
Chapitre 16.
Utilitaire
16.1 Introduction
16,2 heures
16.3 Réglage de la fonction
16.4 Fonctions de type
16.5 emplacement_source
16.6 déplacer() et avancer()
16.7 Manipulation de bits
16.8 Fin du programme
16.9 Conseils
Chapitre 17.
nombre
17.1 Introduction
17.2 Fonctions mathématiques
17.3 Algorithme numérique
17.4 Nombres complexes
17.5 Nombres aléatoires
17.6 Arithmétique vectorielle
17.7 Restrictions d'eau
17.8 Type Alias
17.9 Constantes mathématiques
17.10 Conseils
Chapitre 18.
Exécution simultanée
18.1 Introduction
18.2 Tâches et fils de discussion
18.3 Partage de données
18.4 En attente d'un événement
18.5 Communication relative aux tâches
18.6 Coroutines
18.7 Conseils
Chapitre 19.
Contexte historique et compatibilité
19.1 Histoire
19.2 Évolution des fonctionnalités C++
19.3 Compatibilité C/C++
19.4 Références
19.5 Conseils
supplément.
module standard
Avis de l'éditeur
◈ Note de l'auteur ◈
Le C++ a complètement changé.
Comparativement à C++98 ou C++11, les idées peuvent être mises en œuvre de manière plus claire, plus simple et plus intuitive.
Les compilateurs produisent également des programmes résultants plus rapides et plus précis.
Ce livre offre un aperçu complet des implémentations C++ des principaux fournisseurs C++, en utilisant la définition C++20, la norme ISO C++ actuelle, comme référence.
Nous présentons également des composants de bibliothèque fréquemment utilisés qui ne devraient pas être adoptés comme norme avant C++23.
Comme d'autres langages modernes, le C++ est très volumineux et nécessite une grande variété de bibliothèques pour être utilisé efficacement.
Ce petit livre est idéal pour les programmeurs déjà familiarisés avec le C++ et souhaitant apprendre les composants modernes du C++.
Il présente la plupart des principales caractéristiques du langage et couvre également les principaux composants de la bibliothèque standard.
Vous pouvez le lire en un jour ou deux, mais cela ne suffit pas pour écrire du code C++ de qualité.
Plutôt que de fournir une explication complète, nous visons à offrir un point de départ aux programmeurs en ne proposant que les grandes lignes et les exemples essentiels.
Ce livre suppose une expérience suffisante en programmation.
Sinon, je recommande la lecture d'un ouvrage comme 『Programming: Principles and Practice Using C++, Second edition Korean version』(Acorn, 2015).
Même si vous avez de l'expérience en programmation, les langages que vous avez utilisés ou les applications que vous avez développées peuvent être très différents de l'approche C++ présentée dans ce livre.
Imaginons que vous visitiez une ville comme Copenhague ou New York.
En participant à une visite de groupe, vous pouvez découvrir les principales attractions de la ville en quelques heures seulement, entendre des anecdotes sur les coulisses et obtenir des recommandations pour votre prochaine destination.
On ne peut absolument pas découvrir la ville en errant comme ça.
Ce que je vois et entends ne m'appartient pas exclusivement.
Certaines histoires sont tellement bizarres qu'elles en sont presque incroyables.
Il est impossible de connaître les règles formelles et informelles qui régissent la vie dans cette ville.
Il faut vivre quelques années pour bien le comprendre.
Mais avec un peu de chance, vous pourriez obtenir un bref aperçu.
Vous saurez alors ce qui rend cette ville si particulière et quels quartiers sont intéressants.
Ce n'est qu'une fois cette visite terminée que la véritable exploration commence.
Le circuit proposé dans ce livre présente les fonctionnalités du langage C++ qui prennent en charge des styles de programmation tels que la programmation orientée objet et la programmation générique.
Nous ne fournissons pas de manuels de référence détaillés pour chaque fonctionnalité linguistique.
Comme pour tout bon manuel, nous essayons d'expliquer les fonctionnalités avant de les utiliser, mais ce n'est pas toujours possible, et tous les lecteurs ne lisent pas le livre de manière séquentielle.
Nous supposons que le lecteur possède un certain niveau de compétences techniques.
Veuillez donc utiliser des renvois ou des index chaque fois que cela s'avère nécessaire.
Dans le même esprit, cette visite guidée explique la bibliothèque standard à travers des exemples plutôt que par une explication exhaustive.
Au besoin, consultez des ressources supplémentaires. Les fonctionnalités offertes par la norme ISO ne représentent qu'une petite partie de l'écosystème C++ (par exemple, les bibliothèques, les systèmes de compilation, les outils d'analyse, les environnements de développement, etc.).
Il existe une quantité considérable de ressources en ligne (bien que la qualité soit variable).
Vous trouverez facilement des tutoriels utiles et des vidéos d'introduction lors de conférences comme CppCon et Meeting C++. Pour une présentation technique détaillée du langage et des bibliothèques fournies par la norme ISO C++, consultez Cppreference.
Lorsqu'une fonction ou une classe de la bibliothèque standard apparaît, sa définition est facile à trouver, et de nombreuses fonctions connexes apparaissent lors de la lecture de la documentation.
Cette présentation aborde le C++ comme un tout intégré plutôt que comme un gâteau à étages.
Il ne couvre donc que très partiellement les fonctionnalités du langage introduites dans les normes C ou C++98 ou les normes ISO ultérieures.
Ces informations se trouvent au chapitre 19 (Contexte historique et compatibilité).
L'objectif est de rester bref et de se concentrer sur les bases, mais je n'ai pas pu complètement éviter la tentation d'introduire en un clin d'œil de nouvelles fonctionnalités comme les modules (section 3.2.2), les concepts (section 8.2) et les coroutines (section 18.6).
Tenter de suivre les pratiques de développement modernes satisfera également la curiosité de nombreux lecteurs familiers avec les anciennes versions de C++.
◈ Note du traducteur ◈
Les langages de programmation évoluent constamment.
Surtout pour un langage aussi vaste que le C++, il n'est jamais facile de suivre son rythme et son ampleur.
Dans leur quotidien chargé, les programmeurs s'efforcent constamment d'apprendre les nouvelles versions et fonctionnalités.
Comme pour prendre en compte ces préoccupations, Bjarne Stroustrup, le fondateur du C++, souligne de manière concise et précise ce qu'il faut savoir sur les différentes versions du C++ dans cet ouvrage.
Ce livre à lui seul ne vous permettra pas de maîtriser parfaitement le C++, mais il vous donnera au moins une idée par où commencer.
Comme l'a dit Bjarne Stroustrup dans la citation ci-dessus, il n'est pas nécessaire de se donner la peine de faire quelque chose qui peut être fait simplement.
L'auteur ne se contente pas d'énumérer les fonctionnalités.
Il établit des liens entre différents concepts et explique, à l'aide d'exemples faciles à comprendre, comment quels éléments sont utilisés dans quelles situations.
Elle introduit la bibliothèque standard appropriée au bon endroit et ne manque aucune documentation de référence utile.
Les lecteurs savent pertinemment que, quelle que soit la qualité d'une fonctionnalité, c'est la manière dont elle est combinée et utilisée qui détermine la qualité du programme.
Plus vous connaîtrez de cas d'utilisation pertinents, meilleure sera la qualité de votre code ; ne négligez donc pas les exemples que l'auteur a minutieusement créés.
Le C++ a subi des changements majeurs avec l'avènement du C++20.
Avant tout, de nombreux éléments ont été ajoutés afin de refléter plus intuitivement les intentions de l'utilisateur.
Parmi les exemples représentatifs, citons les modules, les concepts et les coroutines.
L'auteur pose des bases solides en abordant les éléments fondamentaux du C++, tels que les types, les classes, les opérations, les modèles, les conteneurs, les exceptions et les entrées/sorties, comme sujets de chaque chapitre, tout en expliquant les éléments récemment ajoutés au C++ en lien avec les méthodes de développement modernes, telles que la programmation générique et le multitâche coopératif.
Bien qu'il soit basé sur C++20, il laisse également entrevoir ce qui sera inclus dans C++23.
Fort de mon expérience au sein du comité C++, je mentionne occasionnellement les projets en cours pour vous aider à vous préparer pour l'avenir.
Si vous êtes pressé par le temps, commencez par lire la table des matières.
Une table des matières facile à comprendre vous guidera vers la direction et la destination souhaitées.
Il n'y a aucune raison pour que l'auteur l'ait intitulé « Tour du C++ ».
J'espère que cela vous permettra d'apprécier votre voyage à travers le monde du C++ et d'apprendre le C++ plus facilement.
Le C++ a complètement changé.
Comparativement à C++98 ou C++11, les idées peuvent être mises en œuvre de manière plus claire, plus simple et plus intuitive.
Les compilateurs produisent également des programmes résultants plus rapides et plus précis.
Ce livre offre un aperçu complet des implémentations C++ des principaux fournisseurs C++, en utilisant la définition C++20, la norme ISO C++ actuelle, comme référence.
Nous présentons également des composants de bibliothèque fréquemment utilisés qui ne devraient pas être adoptés comme norme avant C++23.
Comme d'autres langages modernes, le C++ est très volumineux et nécessite une grande variété de bibliothèques pour être utilisé efficacement.
Ce petit livre est idéal pour les programmeurs déjà familiarisés avec le C++ et souhaitant apprendre les composants modernes du C++.
Il présente la plupart des principales caractéristiques du langage et couvre également les principaux composants de la bibliothèque standard.
Vous pouvez le lire en un jour ou deux, mais cela ne suffit pas pour écrire du code C++ de qualité.
Plutôt que de fournir une explication complète, nous visons à offrir un point de départ aux programmeurs en ne proposant que les grandes lignes et les exemples essentiels.
Ce livre suppose une expérience suffisante en programmation.
Sinon, je recommande la lecture d'un ouvrage comme 『Programming: Principles and Practice Using C++, Second edition Korean version』(Acorn, 2015).
Même si vous avez de l'expérience en programmation, les langages que vous avez utilisés ou les applications que vous avez développées peuvent être très différents de l'approche C++ présentée dans ce livre.
Imaginons que vous visitiez une ville comme Copenhague ou New York.
En participant à une visite de groupe, vous pouvez découvrir les principales attractions de la ville en quelques heures seulement, entendre des anecdotes sur les coulisses et obtenir des recommandations pour votre prochaine destination.
On ne peut absolument pas découvrir la ville en errant comme ça.
Ce que je vois et entends ne m'appartient pas exclusivement.
Certaines histoires sont tellement bizarres qu'elles en sont presque incroyables.
Il est impossible de connaître les règles formelles et informelles qui régissent la vie dans cette ville.
Il faut vivre quelques années pour bien le comprendre.
Mais avec un peu de chance, vous pourriez obtenir un bref aperçu.
Vous saurez alors ce qui rend cette ville si particulière et quels quartiers sont intéressants.
Ce n'est qu'une fois cette visite terminée que la véritable exploration commence.
Le circuit proposé dans ce livre présente les fonctionnalités du langage C++ qui prennent en charge des styles de programmation tels que la programmation orientée objet et la programmation générique.
Nous ne fournissons pas de manuels de référence détaillés pour chaque fonctionnalité linguistique.
Comme pour tout bon manuel, nous essayons d'expliquer les fonctionnalités avant de les utiliser, mais ce n'est pas toujours possible, et tous les lecteurs ne lisent pas le livre de manière séquentielle.
Nous supposons que le lecteur possède un certain niveau de compétences techniques.
Veuillez donc utiliser des renvois ou des index chaque fois que cela s'avère nécessaire.
Dans le même esprit, cette visite guidée explique la bibliothèque standard à travers des exemples plutôt que par une explication exhaustive.
Au besoin, consultez des ressources supplémentaires. Les fonctionnalités offertes par la norme ISO ne représentent qu'une petite partie de l'écosystème C++ (par exemple, les bibliothèques, les systèmes de compilation, les outils d'analyse, les environnements de développement, etc.).
Il existe une quantité considérable de ressources en ligne (bien que la qualité soit variable).
Vous trouverez facilement des tutoriels utiles et des vidéos d'introduction lors de conférences comme CppCon et Meeting C++. Pour une présentation technique détaillée du langage et des bibliothèques fournies par la norme ISO C++, consultez Cppreference.
Lorsqu'une fonction ou une classe de la bibliothèque standard apparaît, sa définition est facile à trouver, et de nombreuses fonctions connexes apparaissent lors de la lecture de la documentation.
Cette présentation aborde le C++ comme un tout intégré plutôt que comme un gâteau à étages.
Il ne couvre donc que très partiellement les fonctionnalités du langage introduites dans les normes C ou C++98 ou les normes ISO ultérieures.
Ces informations se trouvent au chapitre 19 (Contexte historique et compatibilité).
L'objectif est de rester bref et de se concentrer sur les bases, mais je n'ai pas pu complètement éviter la tentation d'introduire en un clin d'œil de nouvelles fonctionnalités comme les modules (section 3.2.2), les concepts (section 8.2) et les coroutines (section 18.6).
Tenter de suivre les pratiques de développement modernes satisfera également la curiosité de nombreux lecteurs familiers avec les anciennes versions de C++.
◈ Note du traducteur ◈
Les langages de programmation évoluent constamment.
Surtout pour un langage aussi vaste que le C++, il n'est jamais facile de suivre son rythme et son ampleur.
Dans leur quotidien chargé, les programmeurs s'efforcent constamment d'apprendre les nouvelles versions et fonctionnalités.
Comme pour prendre en compte ces préoccupations, Bjarne Stroustrup, le fondateur du C++, souligne de manière concise et précise ce qu'il faut savoir sur les différentes versions du C++ dans cet ouvrage.
Ce livre à lui seul ne vous permettra pas de maîtriser parfaitement le C++, mais il vous donnera au moins une idée par où commencer.
Comme l'a dit Bjarne Stroustrup dans la citation ci-dessus, il n'est pas nécessaire de se donner la peine de faire quelque chose qui peut être fait simplement.
L'auteur ne se contente pas d'énumérer les fonctionnalités.
Il établit des liens entre différents concepts et explique, à l'aide d'exemples faciles à comprendre, comment quels éléments sont utilisés dans quelles situations.
Elle introduit la bibliothèque standard appropriée au bon endroit et ne manque aucune documentation de référence utile.
Les lecteurs savent pertinemment que, quelle que soit la qualité d'une fonctionnalité, c'est la manière dont elle est combinée et utilisée qui détermine la qualité du programme.
Plus vous connaîtrez de cas d'utilisation pertinents, meilleure sera la qualité de votre code ; ne négligez donc pas les exemples que l'auteur a minutieusement créés.
Le C++ a subi des changements majeurs avec l'avènement du C++20.
Avant tout, de nombreux éléments ont été ajoutés afin de refléter plus intuitivement les intentions de l'utilisateur.
Parmi les exemples représentatifs, citons les modules, les concepts et les coroutines.
L'auteur pose des bases solides en abordant les éléments fondamentaux du C++, tels que les types, les classes, les opérations, les modèles, les conteneurs, les exceptions et les entrées/sorties, comme sujets de chaque chapitre, tout en expliquant les éléments récemment ajoutés au C++ en lien avec les méthodes de développement modernes, telles que la programmation générique et le multitâche coopératif.
Bien qu'il soit basé sur C++20, il laisse également entrevoir ce qui sera inclus dans C++23.
Fort de mon expérience au sein du comité C++, je mentionne occasionnellement les projets en cours pour vous aider à vous préparer pour l'avenir.
Si vous êtes pressé par le temps, commencez par lire la table des matières.
Une table des matières facile à comprendre vous guidera vers la direction et la destination souhaitées.
Il n'y a aucune raison pour que l'auteur l'ait intitulé « Tour du C++ ».
J'espère que cela vous permettra d'apprécier votre voyage à travers le monde du C++ et d'apprendre le C++ plus facilement.
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 28 juin 2024
- Nombre de pages, poids, dimensions : 436 pages | 188 × 235 × 20 mm
- ISBN13 : 9791161758565
- ISBN10 : 1161758569
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne