Garçon devant un ordinateur.jpg
Hollie Little Pink Laptop.jpg
À propos • Aide • Le Livre d'or
Les lecteurs de Vikidia demandent des articles en plus. Voyez la liste d'articles à créer, et venez nous aider à les rédiger !

C++

Une page de Vikidia, l’encyclopédie junior
Aller à la navigation Aller à la recherche
Logo du C++

Le C++ (prononciation : « cé plus plus ») est un langage de programmation créé en 1983 à partir des langages C (pour la rapidité) et Simula (pour l'orienté objet) par Bjarne Stroustrup lorsqu'il était chercheur aux laboratoires Bell de la compagnie AT&T. Il est aujourd'hui l'un des langages de programmation le plus utilisé dans le monde1

Son nom d'origine était C with classes (C avec classes). Il s'agit d'une version "améliorée" de C.

De très nombreux et célèbres logiciels sont écrits en C++, par exemple2 :

Le C++ est, contrairement aux préjugés, un langage bien différent du C : Ce n'est pas une surcouche de celui-ci, contrairement à l'opinion de nombreux débutants. D'ailleurs, un code C ne compilera pas forcément avec un compilateur C++ (implicit cast de void*, etc...). Il combine le paradigme objet et le paradigme impératif. Il supporte la programmation par contrat, mais avec des bibliothèques extérieures. Ses principales fonctions sont l'orienté objet (Classes, Héritage, Polymorphisme...), la surcharge d'opérateurs, les fonctions virtuelles et les templates.

Le nom « C++ » réfère à l'opérateur d'incrémentation (++) du C, ce qui équivaudrait à dire (C incrémenté, C amélioré). Seulement, ce n'est pas vraiment le cas, comme nous l'avons vu précédemment.

Fonctionnalités introduites

Fonctionnalités introduites par rapport au C :

  • Le typage des "prototypes" de fonctions
  • Les déclarations reconnues comme instructions
  • Les opérateurs "new" et "delete"
  • Le type de données "bool" (booléen)
  • Les références "&"
  • Les variables et fonctions const
  • Fonctions inline
  • Les référentiels lexicaux
  • Les classes
  • La surcharge des opérateurs
  • Les templates
  • Gestion d'exceptions
  • Fonctions lambda
  • L'inférence de type "auto"
  • Références rvalue "&&"

Programme d'exemple

#include <iostream>
int main ()
{
  cout << "Hello World!" << endl;
}

Ce programme affiche le typique "Hello World!" à l'écran.

  1. #include <iostream> signifie que l'on va utiliser les fonctionnalités d'entrée/sortie (dans cet exemple, afficher du texte à l'écran).
  2. main est la fonction principale du programme. Ce qu'elle fait est indiqué entre { ... }. Devant son nom, int signifie que main renvoie un nombre entier (si tout va bien, 0).
  3. std::cout << "Hello World!" << std::endl s'occupe d'afficher le texte à l'écran (std::cout) en ajoutant un retour à la ligne (std::endl).

Autre exemple :

#include <iostream>
#include <string>

using namespace std;
int main()
{
    string nom("nom");
    cout << "Entrer votre nom :" << endl;
    cin >> nom;
    cout << "Votre nom est : " << nom << endl;
    
    return 0;
}

Ce programme va définir une variable nom. Puis, le texte "Entrez votre nom" va s'afficher à l'écran. On peut alors entrer notre nom qui sera stocké dans la variable nom. Enfin, le texte "votre nom est [ton nom que tu as entrer précedemment]".

Création de programmes

Pour transformer du code source C++ en un programme exécutable (c'est-à-dire que l'ordinateur peut faire fonctionner), il faut un logiciel : le compilateur. Il existe différents compilateurs de C++, parmi lesquels g++ (une partie de GCC, la suite de compilateur de GNU) et Visual C++ (Microsoft).

Pour faciliter l'écriture de code source C++, on utilise souvent des EDI (IDE en anglais) comme Code::Blocks, Visual Studio ou Qt Creator, ce dernier étant principalement utilisé pour développer des applications graphiques (c'est-à-dire avec fenêtres, boutons, etc.) avec le framework Qt.

Références

  1. D'après les classements TIOBE et celui établi à partir de comp.lang, la catégorie de newsgroups des langages de programmation.
  2. Ces exemples ont été rassemblés par Bjarne Stroustrup lui-même sur le site d’AT&T.
Langages de programmation.svg
Les langages de l’informatique
Portail de l'informatique —  Tous les articles sur son histoire, les logiciels, Internet…
Portail des techniques — Tous les articles sur les moyens de transport, l'informatique, les outils et les matériaux…