C++ Introduction

C++ est un langage de programmation compilé, à typage statique, généraliste, sensible à la casse et irrégulier qui prend en charge la programmation procédurale, la programmation orientée objet et la programmation générique.

C++ est considéré comme unlangage intermédiaire. Le langage combine les caractéristiques des langages de haut niveau et de bas niveau.

C++ a été conçu et développé par Bjarne Stroustrup aux Bell Labs à Murray Hill, New Jersey, en 1979, en étendant et en améliorant encore le langage C, et a été initialement nommé avecClass C. Plus tard, en 1983, il a été renommé en C++.

C++ est un sur-ensemble de C. En fait, tout programme C valide est un programme C++ valide.

Remarque :Un langage de programmation qui utilise le typage statique effectue la vérification des types au moment de la compilation, plutôt qu'à l'exécution.

Programmation orientée objet

C++ prend entièrement en charge la programmation orientée objet, y compris les quatre caractéristiques principales du développement orienté objet :

  • Encapsulation: L'encapsulation consiste à combiner des données et des méthodes, à masquer les détails d'implémentation de l'extérieur et à n'exposer que les interfaces fournies à l'extérieur. Cela peut améliorer la sécurité, la fiabilité et la flexibilité.

  • Héritage: L'héritage consiste à dériver une nouvelle classe à partir d'une classe existante. La nouvelle classe possède les attributs et les méthodes de la classe existante, et peut étendre ou modifier ces attributs et méthodes. Cela peut améliorer la réutilisabilité et l'extensibilité du code.

  • Polymorphisme: Le polymorphisme signifie que la même opération appliquée à différents objets peut avoir différentes interprétations et implémentations. Il peut être mis en œuvre via des interfaces ou l'héritage, ce qui peut améliorer la flexibilité et la lisibilité du code.

  • Abstraction: L'abstraction est le processus consistant à extraire des caractéristiques communes d'instances concrètes pour former des classes abstraites ou des interfaces, ce qui facilite la réutilisation et l'extension du code. Les classes abstraites et les interfaces permettent aux programmeurs de se concentrer sur la conception de haut niveau et la logique métier sans se soucier des détails d'implémentation de bas niveau.

Bibliothèque standard

Le C++ standard se compose de trois parties importantes :

  • Langage de base, fournissant tous les éléments de base, notamment les variables, les types de données et les constantes, etc.
  • Bibliothèque standard C++, fournissant un grand nombre de fonctions pour manipuler des fichiers, des chaînes de caractères, etc.
  • Bibliothèque de modèles standard (STL), fournissant un grand nombre de méthodes pour manipuler des structures de données, etc.

Norme ANSI

La norme ANSI vise à garantir la portabilité de C++ — le code que vous écrivez peut être compilé sur des ordinateurs Mac, UNIX, Windows et Alpha.

Comme la norme ANSI est stable depuis longtemps, tous les principaux fabricants de compilateurs C++ prennent en charge la norme ANSI.

Apprendre le C++

Pour apprendre le C++, l'essentiel est de comprendre les concepts, et il ne faut pas trop s'attarder sur les détails techniques du langage.

Le but d'apprendre un langage de programmation est de devenir un meilleur programmeur, c'est-à-dire d'être capable de concevoir et d'implémenter de nouveaux systèmes plus efficacement, ainsi que de maintenir les anciens systèmes.

C++ prend en charge plusieurs styles de programmation. Vous pouvez écrire du code en utilisant le style de n'importe quel langage, tel que Fortran, C ou Smalltalk. Chaque style peut garantir efficacement l'efficacité à l'exécution et l'efficacité spatiale.

Utilisation de C++

Le langage C++ est largement utilisé dans de nombreux secteurs et domaines, notamment :

  • Développement de jeux : C++ est l'un des langages de programmation les plus couramment utilisés dans le domaine du développement de jeux en raison de ses hautes performances et de sa capacité à contrôler directement le matériel. De nombreux moteurs de jeux majeurs, tels qu'Unreal Engine et Unity, sont écrits en C++.

  • Développement de systèmes embarqués : C++ peut jouer un rôle important dans les systèmes embarqués, tels que les smartphones, les automobiles, les robots et les appareils électroménagers. Comme les systèmes embarqués ont généralement des contraintes de ressources strictes et des exigences de temps réel, les hautes performances de C++ et ses capacités de contrôle de la mémoire sont très utiles.

  • Finance : C++ est largement utilisé dans le domaine financier, notamment pour le trading à haute fréquence, le trading algorithmique et la gestion des risques. Comme ces applications nécessitent de hautes performances et un contrôle direct du matériel, C++ est un choix approprié.

  • Graphismes et traitement d'images : C++ peut être utilisé pour développer des applications de graphismes et de traitement d'images, telles que la vision par ordinateur, l'infographie et l'intelligence artificielle. Comme ces applications nécessitent une puissance de calcul efficace et un contrôle du matériel, C++ est un très bon choix.

  • Calcul scientifique et analyse numérique : C++ peut être utilisé pour développer des applications de calcul scientifique et d'analyse numérique, telles que la simulation numérique et le calcul haute performance. Comme ces applications nécessitent une puissance de calcul efficace et un contrôle direct du matériel, C++ est un très bon choix.


Normalisation

Date de sortie Nom commun Notes
2020 C++20, C++2a ISO/IEC 14882:2020
2017 C++17 La cinquième norme C++
2017 TS coroutines Extension de la bibliothèque de coroutines
2017 TS ranges Fourniture d'un mécanisme de portée
2017 TS Fondamentaux de la bibliothèque Extension de la bibliothèque standard
2016 TS concurrence Extensions pour le calcul concurrent
2015 TS concepts Bibliothèque de concepts, utilisée pour optimiser les informations à la compilation
2015 TS TM Opérations de mémoire transactionnelle
2015 TS parallélisme Extensions pour le calcul parallèle
2015 TS système de fichiers système de fichiers
2014 C++14 La quatrième norme C++
2011 - Extensions pour les nombres décimaux à virgule flottante
2011 C++11 La troisième norme C++
2010 - Extensions de fonctions mathématiques
2007 C++TR1 Rapport technique C++ : extensions de bibliothèque
2006 - Rapport technique sur les performances C++
2003 C++03 La deuxième norme C++
1998 C++98 Le premier standard C++
autres extensions