Différences entre versions de « C++ »

De Didaquest
Aller à la navigationAller à la recherche
 
(43 versions intermédiaires par le même utilisateur non affichées)
Ligne 11 : Ligne 11 :
 
<!-- ****************** Commercez les modifications ************************-->
 
<!-- ****************** Commercez les modifications ************************-->
  
[[{{FULLPAGENAME}}]] (Français)
+
{{@}} en Français : [[ C++ ]]   <br>
/ [[C++]]  (Anglais)
+
{{@}} en Anglais : [[ C++ ]]   <br>
/ [[C++]] (Arabe "ne possède pas de traduction")
+
{{@}}  en Arabe   : [[ne possède pas de traduction]]
 +
 
  
 
}}<!-- ************** Fin Fiche Didactique Traduction ********************* -->
 
}}<!-- ************** Fin Fiche Didactique Traduction ********************* -->
Ligne 26 : Ligne 27 :
 
<!--****************** Commercez les modifications: Fiche-Disciplines-Thématiques *********************-->
 
<!--****************** Commercez les modifications: Fiche-Disciplines-Thématiques *********************-->
  
|Domaine-Discipline-Thématique-1= Programmation                          
+
 
 +
|Domaine-Discipline-Thématique-1= programmation                          
 
|Domaine-Discipline-Thématique-2= Informatique
 
|Domaine-Discipline-Thématique-2= Informatique
 
|Domaine-Discipline-Thématique-3= Algorithmique
 
|Domaine-Discipline-Thématique-3= Algorithmique
Ligne 38 : Ligne 40 :
  
 
== {{Widget:Definition-ecrite-Fiche}} ==
 
== {{Widget:Definition-ecrite-Fiche}} ==
 
 
 
<!-- ******** Début Fiche Didactique Definition ********************-->
 
<!-- ******** Début Fiche Didactique Definition ********************-->
 
{{Fiche Didactique Definition <!-------------------------------------->
 
{{Fiche Didactique Definition <!-------------------------------------->
Ligne 46 : Ligne 46 :
 
|Définition= <!-- Ne pas Modifier  -->
 
|Définition= <!-- Ne pas Modifier  -->
 
<!-- *************** Commercez les modifications *******************-->
 
<!-- *************** Commercez les modifications *******************-->
 +
*Le langage C++ est régulé par la norme ISO afin de le standardiser. La dernière version C++ 20 est sorti en 2020 (ISO/IEC 14882:2020)
  
<span style="color:#000000;">'''Date de première version&nbsp;: </span>[https://fr.wikipedia.org/wiki/20_février 20]<span style="color:#000000;">&nbsp;</span>[https://fr.wikipedia.org/wiki/Février_1991 février]<span style="color:#000000;">&nbsp;</span>[https://fr.wikipedia.org/wiki/1991 19]<span style="color:#000000;">9</span>[https://fr.wikipedia.org/wiki/C++_(langage)#cite_note-1 1]
+
*Le C++ est un langage de programmation aux nombreux paradigmes : orienté objet, procédural ou générique.
  
[https://fr.wikipedia.org/wiki/Paradigme_(programmation) Paradigmes]<span style="color:#000000;">&nbsp;:</span>[https://fr.wikipedia.org/wiki/Programmation_orientée_objet Objet]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Programmation_impérative impératif]<span style="color:#000000;">&nbsp;et&nbsp;</span>[https://fr.wikipedia.org/wiki/Langage_interprété interprété]
+
*Le C++, au même titre que le C, est un langage de bas niveau. C’est-à-dire qu’il est plus proche du fonctionnement de la machine. Le principal cas d’utilisation du C++ est aujourd’hui le suivant :
  
<span style="color:#000000;">'''Auteur&nbsp;:</span>[https://fr.wikipedia.org/wiki/Guido_van_Rossum Guido van Rossum]
+
Besoin de développer une application où la performance est primordiale
 +
Voici l’explication sur l’origine de son nom : C vient du langage de programmation C datant de 1970. Le suffixe “++” correspond à l’opérateur permettant d’incrémenter une valeur en C. Cela signifie donc que C++ se positionne comme une version améliorée et plus performante que le langage C.
  
<span style="color:#000000;">'''Développeurs&nbsp;: </span>[https://fr.wikipedia.org/wiki/C++_Software_Foundation C++ Software Foundation]
+
*Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes comme la programmation procédurale, la programmation orientée objet et la programmation générique.
  
[https://fr.wikipedia.org/wiki/Version_d%27un_logiciel Dernière version]<span style="color:#000000;">: 3.</span><span style="color:#000000;">8.3 (20 mai 2020)'''</span>
+
*C++ est actuellement le 3e langage le plus utilisé au monde.  
  
<span style="color:#000000;">'''Typage&nbsp;: </span>[https://fr.wikipedia.org/wiki/Typage_fort Fort]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Typage_dynamique dynamique]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Duck_typing duck typing]
+
*Le langage C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans besoin d'une autorisation ou obligation de payer pour avoir le droit d'utilisation.
  
<span style="color:#000000;">'''Influencé par&nbsp;: </span>[https://fr.wikipedia.org/wiki/Typage_fort Fort]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Typage_dynamique dynamique]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Duck_typing duck typing]
+
*Le langage C++ est un langage de programmation très utilisé pour développer des applications graphiques. Ce langage est très populaire parce qu'il possède une grande variété de systèmes d'exploitation compatibles.
  
<span style="color:#000000;">'''Implémentations&nbsp;: </span>[https://fr.wikipedia.org/wiki/CC++ CC++]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Jython Jython]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/IronC++ IronC++]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/PyPy PyPy]
+
* Le langage C++ utilise les concepts de la programmation orientée objet et permet entre autres :
 +
la création de classes ;
 +
l'encapsulation ;
 +
des relations entre les classes :
 +
la composition de classes (composition dans un diagramme de classes),
 +
l'association de classes (en) (association dans un diagramme de classes),
 +
l'agrégation de classes (agrégation dans un diagramme de classes),
 +
la dépendance (dépendance dans un diagramme de classes),
 +
l'héritage simple et multiple (héritage dans un diagramme de classes) ;
 +
le polymorphisme ;
 +
l'abstraction ;
 +
la généricité ;
 +
la méta-programmation.
  
<span style="color:#000000;">'''Écrit</span><span style="color:#000000;"> en&nbsp;: '''</span>[https://fr.wikipedia.org/wiki/C_(langage) C]<span style="color:#000000;">'''&nbsp;pour CC++,&nbsp;'''</span>[https://fr.wikipedia.org/wiki/Java_(langage) Java]<span style="color:#000000;">'''&nbsp;pour Jython,&nbsp;'''</span>[https://fr.wikipedia.org/wiki/C_sharp C#]<span style="color:#000000;">'''&nbsp;pour IronC++ et en C++ lui-même pour PyPy'''</span>
 
  
<div style="color:#000000;">'''Système d’exploitation&nbsp;: Multiplate-forme'''</div>
+
* Les principaux EDI permettant le développement d'applications en langage C++ sont :
  
<div style="color:#000000;">'''Licence&nbsp;: licence libre C++ Software Foundation'''</div>
+
Borland C++
 
+
Borland C++ Builder
<span style="color:#000000;">'''Site web&nbsp;: </span>[http://www.C++.org/ www.C++.org]
+
Microsoft Visual C++
 
+
<!-- ******** Fin Définition Générale ***************************** -->
<div style="color:#000000;">'''Extension de fichier&nbsp;: py, pyc, pyd, pyo, pyw et pyz'''</div>
+
<!-- ************* Début Définition Approfondissement ************* -->
 +
<!-- Approfondissement des définitions à travers des classifications, des catégorisations, des typologies, ou autre.... -->
 +
|Typologie= <!------------------------------------ Ne pas Modifier  -->
 +
<!-- ****************** Commercez les modifications ****************-->
  
 +
<span style="color:#000080;"> <big><FONT size="2">'''*  Date de première version:'''</FONT></big></span>      1985
 +
 +
<span style="color:#000080;"><big> <FONT size="2">'''*  Paradigme: '''</FONT></big></span>                générique, orienté objet, procédural
  
{| style="border-spacing:0;margin:auto;width:17cm;"
+
<span style="color:#000080;"><big> <FONT size="2">'''*  Auteur: '''</FONT></big></span>                     Bjarne Stroustrup
|-
 
||
 
|-
 
|| <span style="color:#000000;">'''Date de première version&nbsp;: </span>[https://fr.wikipedia.org/wiki/20_février 20]<span style="color:#000000;">&nbsp;</span>[https://fr.wikipedia.org/wiki/Février_1991 février]<span style="color:#000000;">&nbsp;</span>[https://fr.wikipedia.org/wiki/1991 19]<span style="color:#000000;">9</span>[https://fr.wikipedia.org/wiki/C++_(langage)#cite_note-1 1]
 
  
[https://fr.wikipedia.org/wiki/Paradigme_(programmation) Paradigmes]<span style="color:#000000;">&nbsp;:</span>[https://fr.wikipedia.org/wiki/Programmation_orientée_objet Objet]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Programmation_impérative impératif]<span style="color:#000000;">&nbsp;et&nbsp;</span>[https://fr.wikipedia.org/wiki/Langage_interprété interprété]
+
<span style="color:#000080;"><big> <FONT size="2">'''* Dernière version: '''</FONT></big></span>     C++20 (décembre 2020)
  
<span style="color:#000000;">'''Auteur&nbsp;:</span>[https://fr.wikipedia.org/wiki/Guido_van_Rossum Guido van Rossum]
+
<span style="color:#000080;"><big> <FONT size="2">'''*  Typage: '''</FONT></big></span>         statique, unsafe, nominatif
  
<span style="color:#000000;">'''Développeurs&nbsp;: </span>[https://fr.wikipedia.org/wiki/C++_Software_Foundation C++ Software Foundation]
+
<span style="color:#000080;"><big> <FONT size="2">'''*  Normes: '''</FONT></big></span>
 +
                ISO/CEI 14882:1998
 +
                ISO/CEI 14882:2003
 +
                ISO/CEI 14882:2011
 +
                ISO/CEI 14882:2014
 +
                ISO/CEI 14882:2017
 +
                ISO/IEC 14882:2020
 +
<span style="color:#000080;"><big> <FONT size="2">'''* Influencé par:  '''</FONT></big></span>         C, Simula, Ada 83, Algol 68, CLU, ML
  
[https://fr.wikipedia.org/wiki/Version_d%27un_logiciel Dernière version]<span style="color:#000000;">: 3.</span><span style="color:#000000;">8.3 (20 mai 2020)'''</span>
+
<span style="color:#000080;"><big> <FONT size="2">'''* A influencé: ''' </FONT> </big></span>         Ada 95, C#, PHP, D, JavaScript, Java, X++, Rust
  
<span style="color:#000000;">'''Typage&nbsp;: </span>[https://fr.wikipedia.org/wiki/Typage_fort Fort]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Typage_dynamique dynamique]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Duck_typing duck typing]
+
<span style="color:#000080;"><big> <FONT size="2">'''*Implémentations: '''</FONT> </big></span>         GNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, XCode Tools
  
<span style="color:#000000;">'''Influencé par&nbsp;: </span>[https://fr.wikipedia.org/wiki/Typage_fort Fort]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Typage_dynamique dynamique]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Duck_typing duck typing]
+
<span style="color:#000080;"><big> <FONT size="2">'''*Site web: '''</FONT></big></span>           isocpp.org [archive]
 
 
<span style="color:#000000;">'''Implémentations&nbsp;: </span>[https://fr.wikipedia.org/wiki/CC++ CC++]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/Jython Jython]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/IronC++ IronC++]<span style="color:#000000;">,&nbsp;</span>[https://fr.wikipedia.org/wiki/PyPy PyPy]
 
 
 
<span style="color:#000000;">'''Écrit</span><span style="color:#000000;"> en&nbsp;: '''</span>[https://fr.wikipedia.org/wiki/C_(langage) C]<span style="color:#000000;">'''&nbsp;pour CC++,&nbsp;'''</span>[https://fr.wikipedia.org/wiki/Java_(langage) Java]<span style="color:#000000;">'''&nbsp;pour Jython,&nbsp;'''</span>[https://fr.wikipedia.org/wiki/C_sharp C#]<span style="color:#000000;">'''&nbsp;pour IronC++ et en C++ lui-même pour PyPy'''</span>
 
 
 
<div style="color:#000000;">'''Système d’exploitation&nbsp;: Multiplate-forme'''</div>
 
 
 
<div style="color:#000000;">'''Licence&nbsp;: licence libre C++ Software Foundation'''</div>
 
 
 
<span style="color:#000000;">'''Site web&nbsp;: </span>[http://www.C++.org/ www.C++.org]
 
 
 
<div style="color:#000000;">'''Extension de fichier&nbsp;: py, pyc, pyd, pyo, pyw et pyz'''</div>
 
|-
 
|}
 
<div style="color:#000000;">[https://fr.wikipedia.org/wiki/C++_(langage)#cite_note-1 ]</div>
 
 
 
 
 
 
 
* C++ est un [[langage de script de haut niveau]], structuré et [[open source]]. Il est multiplateformes, multi-paradigme et multi-usage.
 
* Conçu pour être [[langage de programmation orientée objet| orientée objet]], il n'en dispose pas moins d'outils permettant de se livrer à la [[langage de programmation fonctionnelle |programmation fonctionnelle]] ou [[langage de programmation impérative |impérative]]; c'est d'ailleurs une des raisons qui lui vaut son appellation de « langage agile ».
 
* Il est également apprécié par certains pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation aisée aux concepts de base de la programmation.
 
 
 
* C++ est un [[langage de programmation interprété]], [[langage de programmation portable | portable]], [[langage de programmation dynamique| dynamique]], [[langage de programmation extensible| extensible]], [[langage de programmation gratuit| gratuit]], qui permet (sans l'imposer) une approche [[Programmation modulaire | modulaire]] et [[langage de programmation orientée objet| orientée objet]] de la programmation.
 
 
 
 
 
<!-- ******** Fin Définition Générale ***************************** -->
 
<!-- ************* Début Définition Approfondissement ************* -->
 
<!-- Approfondissement des définitions à travers des classifications, des catégorisations, des typologies, ou autre.... -->
 
|Typologie= <!------------------------------------ Ne pas Modifier  -->
 
<!-- ****************** Commercez les modifications ****************-->
 
* C++ est développé depuis 1989 par [[Guido van Rossum]] et de nombreux contributeurs bénévoles.
 
* C++ favorise la programmation impérative structurée, fonctionnelle et orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions ; il est ainsi similaire à [[Perl]], [[Ruby]], [[Scheme]], [[Smalltalk]] et [[Tcl]].
 
* Le langage C++ est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix avec notamment GNU/Linux en passant par macOS, ou encore Android, iOS, et aussi avec Java ou encore .NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser.
 
{{@}} '''Caractéristiques'''
 
Les principales caractéristiques du langage C++ et de ses deux implantations actuelles:
 
* C++ est un langage de haut niveau, dont la traduction en codes binaires est complexe et prend donc toujours un certain temps. Cela pourrait paraître un inconvénient. En fait, les avantages que présentent les langages de haut niveau sont énormes : il est beaucoup plus facile d'écrire un programme dans un langage de haut niveau; l'écriture du programme prend donc beaucoup moins de temps ; la probabilité d'y faire des fautes est nettement plus faible ; la maintenance (c'est-à-dire l'apport de modifications ultérieures) et la recherche des erreurs (les « bugs ») sont grandement facilitées. De plus, un programme écrit dans un langage de haut niveau sera souvent portable, c'est-à-dire que l'on pourra le faire fonctionner sans guère de modifications sur des machines ou des systèmes d'exploitation différents. Un programme écrit dans un langage de bas niveau ne peut jamais fonctionner que sur un seul type de machine : pour qu'une autre l'accepte, il faut le réécrire entièrement.
 
* C++ est portable, c'est à dire qu'il peut fonctionner sous différents systèmes d'exploitation, non seulement sur les différentes variantes d'UNiX, mais aussi sur les OS propriétaires: MacOS, BeOS, NeXTStep, M$-DOS et les différentes variantes de Window. Un nouveau compilateur, baptisé JC++, est écrit en Java et génère du bytecode Java.
 
* C++ est gratuit, mais on peut l'utiliser sans restriction dans des projets commerciaux.
 
* C++ convient aussi bien à des scripts d'une dizaine de lignes qu'à des projets complexes de plusieurs dizaines de milliers de lignes.
 
* La syntaxe de C++ est très simple et, combinée à des types de données évolués (listes, dictionnaires,...), conduit à des programmes à la fois très compacts et très lisibles. A fonctionnalités égales, un programme C++ (abondament commenté et présenté selon les canons standards) est souvent de 3 à 5 fois plus court qu'un programme C ou C++ (ou même Java) équivalent, ce qui représente en général un temps de développement de 5 à 10 fois plus court et une facilité de maintenance largement accrue.
 
* C++ gère ses ressources (mémoire, descripteurs de fichiers...) sans intervention du programmeur, par un mécanisme de comptage de références (proche, mais différent, d'un garbage collector).
 
* Il n'y a pas de pointeurs explicites en C++.
 
* C++ est (optionnellement) multi-threadé.
 
* C++ est orienté-objet. Il supporte l'héritage multiple et la surcharge des opérateurs. Dans son modèle objets, et en reprenant la terminologie de C++, toutes les méthodes sont virtuelle.
 
* C++ intègre, comme Java ou les versions récentes de C++, un système d'exceptions, qui permettent de simplifier considérablement la gestion des erreurs.
 
* C++ est dynamique (l'interpréteur peut évaluer des chaînes de caractères représentant des expressions ou des instructions C++), orthogonal (un petit nombre de concepts suffit à engendrer des constructions très riches), reflectif (il supporte la métaprogrammation, par exemple la capacité pour un objet de se rajouter ou de s'enlever des attributs ou des méthodes, ou même de changer de classe en cours d'exécution) et introspectif (un grand nombre d'outils de développement, comme le debugger ou le profiler, sont implantés en C++ lui-même).
 
* Comme Scheme ou SmallTalk, C++ est dynamiquement typé. Tout objet manipulable par le programmeur possède un type bien définit à l'exécution, qui n'a pas besoin d'être déclaré à l'avance.
 
* C++ possède actuellement deux implémentations.
 
:- L'une, interprétée, dans laquelle les programmes C++ sont compilés en instructions portables, puis exécutés par une machine virtuelle (comme pour Java, avec une différence importante: Java étant statiquement typé, il est beaucoup plus facile d'accélérer l'exécution d'un programme Java que d'un programme C++).
 
:- L'autre, génère directement du bytecode Java.
 
* C++ est extensible: comme Tcl ou Guile, on peut facilement l'interfacer avec des librairies C existantes. On peut aussi s'en servir comme d'un langage d'extension pour des systèmes logiciels complexes.
 
* La librairie standard de C++, et les paquetages contribués, donnent accès à une grande variété de services: chaînes de caractères et expressions régulières, services UNIX standard (fichiers, pipes, signaux, sockets, threads...), protocoles Internet (Web, News, FTP, CGI, HTML...), persistence et bases de données, interfaces graphiques.
 
* C++ est un langage qui continue à évoluer, soutenu par une communauté d'utilisateurs enthousiastes et responsables, dont la plupart sont des supporters du logiciel libre. Parallèlement à l'interpréteur principal, écrit en C et maintenu par le créateur du langage, un deuxième interpréteur, écrit en Java, est en cours de développement.
 
  
 +
<span style="color:#000080;"><big> <FONT size="2">'''*Extension de fichier: ''' </FONT> </big></span>      cc, cpp, cxx, c, c++, h, hpp, hh, hxx et h++
 +
<!-- ************************* Fin ***************************************** -->
 
}}<!-- ******** Fin Fiche Didactique Définition ******************* -->
 
}}<!-- ******** Fin Fiche Didactique Définition ******************* -->
  
 
== {{Widget:Definition-graphique-Fiche}} ==
 
== {{Widget:Definition-graphique-Fiche}} ==
 
{{cc}} [https://cmapscloud.ihmc.us/viewer/cmap/1XSR9Z0NV-1FHVYJ0-NJXWTX Carte conceptuelle : C++]
 
{{cc}} [https://cmapscloud.ihmc.us/viewer/cmap/1XSR9Z0NV-1FHVYJ0-NJXWTX Carte conceptuelle : C++]
 +
{{cc}} [https://didactique.info/formation/course/view.php?id=425#section-1 didactique.info : C++]
 
<!-- ************************* Début ****************************** -->
 
<!-- ************************* Début ****************************** -->
 
{{Fiche Didactique Media <!------------------------------------------->
 
{{Fiche Didactique Media <!------------------------------------------->
Ligne 190 : Ligne 162 :
 
<!----------------- Commencez les modifications des Mots Clés --------------------->
 
<!----------------- Commencez les modifications des Mots Clés --------------------->
  
|Mot-Clé-1=Informatique
+
|Mot-Clé-1= Langage de programmation
|Mot-Clé-2= C++
+
|Mot-Clé-2= Programmation interprété
|Mot-Clé-3=Programmation
+
|Mot-Clé-3= Multi-paradigme
|Mot-Clé-4=Pensée logique
+
|Mot-Clé-4= Multi-plateformes
|Mot-Clé-5=Programmation visuelle
+
|Mot-Clé-5= Programmation impérative
|Mot-Clé-6= Didactique
+
|Mot-Clé-6= Programmation impérative structurée
|Mot-Clé-7= API
+
|Mot-Clé-7= Programmation déclarative
|Mot-Clé-8= Programmation procédurale
+
|Mot-Clé-8= Programmation fonctionnelle
|Mot-Clé-9= Contrôle de flux
+
|Mot-Clé-9= Langages à classes
|Mot-Clé-10= Programmation Orientée Objet
+
|Mot-Clé-10=
|Mot-Clé-11= Classe
 
|Mot-Clé-12= Constructeur
 
|Mot-Clé-13= Méthodes
 
 
 
  
 
}}<!-- ********************* FIN Fiche Didactique Mots-clés *******************-->
 
}}<!-- ********************* FIN Fiche Didactique Mots-clés *******************-->
Ligne 209 : Ligne 177 :
 
= {{Widget:Exemples-applications-utilisations-Fiche}} =
 
= {{Widget:Exemples-applications-utilisations-Fiche}} =
 
<!-- *************** Début Fiche Didactique Explicitations ***************** -->
 
<!-- *************** Début Fiche Didactique Explicitations ***************** -->
<!-- ************************* Début ****************************** -->
+
{{Fiche Didactique Explicitations <!------------------------------------------->
{{Fiche Didactique Media <!------------------------------------------->
+
<!-- Explicitations et Approfondissements à travers des exemples ou des applications ou lors d'utilisations -->
<!-- Interface Média : Choisir le type de présentation de vos images-->
+
|Exemples-Applications-Utilisations= <!---------------------------------------->
<!--Remplacez et adaptez le mode, les images, formats et les Titres -->
+
<!-- Compléter les pointillés et Supprimer les lignes non utilisées          -->
|Galerie Images= <!-- Ne pas Modifier--------------------------------->
+
<!-- ****************** Commercez les modifications ***********************  -->
<!-- ************* Commercez les modifications *********************-->
+
 
<!--Modes disponibles:"traditional"; "nolines"; "packed"; "packed-hover"; "packed-overlay" ou "slideshow"-->
+
 
<!-- Vous pouvez remplacer et adapter le mode ICI =>--> <gallery mode="packed-hover">                            
+
<span style="color:magenta"><big><U> <p><FONT size="5">'''Domaines d'application  '''</p></FONT></U></big></span>
 +
 
 +
<span style="color:#000090;"><big><U> <p><FONT size="4">'''C++ : Gaming  '''</p></FONT></U></big></span>
 +
 
 +
*Le développement de jeux a été un domaine d’application majeur du C++.
 +
*Le langage permet de contourner les goulots d’étranglement en matière de performances, tels que l’allocation de mémoire.
 +
*Il permet de structurer les zones de données et de gérer la mémoire.
 +
*Il permet la programmation procédurale pour les opérations intensives du CPU, ce qui le rend assez rapide, et il offre un meilleur contrôle sur le matériel.
 +
*De nombreux moteurs de jeux sont écrits en C++.
 +
 
 +
<span style="color:#000090;"><big><U> <p><FONT size="4">'''C++ : Systèmes embarqués  '''</p></FONT></U></big></span>
 +
 
 +
*Le C++ est largement présent dans les systèmes embarqués.
 +
*Il existe une demande massive d’ingénieurs en systèmes embarqués compétents en C++.
 +
* Les domaines comprennent les logiciels automobiles, les logiciels de contrôle de vol, le contrôle des fusées, les moteurs marins, le contrôle des éoliennes, la tomographie par ordinateur et l’instrumentation scientifique.
 +
*De nombreux équipements médicaux de pointe, tels que les machines IRM, utilisent C++ pour le scriptage de leurs logiciels.
 +
*Le C++ fait également partie des applications d’ingénierie, telles que les systèmes CAD/CAM haut de gamme.
 +
 
 +
<span style="color:#000090;"><big><U> <p><FONT size="4">'''C++ : Enseignement et recherche  '''</p></FONT></U></big></span>
 +
 
 +
*Le langage de programmation C++ est également largement utilisé pour l’enseignement.
 +
*Il constitue une excellente option pour l’enseignement de concepts de base ou avancés.
 +
Par exemple:
 +
- la sécurité des types
 +
- la gestion des ressources
 +
- les invariants peuvent être enseignés avec C++.
 +
*Les trois principes de la programmation orientée objet – encapsulation, héritage et polymorphisme – peuvent être enseignés en C++, tout comme les modèles de classes, les hiérarchies de classes et les modèles de conception.
 +
*Le C++ est également idéal pour la démonstration d’algorithmes avancés.
 +
 
 +
<span style="color:magenta"><big><U> <p><FONT size="5">''' Environnement et installation  '''</p></FONT></U></big></span>
 +
 
 +
*C++ est un langage de programmation à usage général et largement utilisé de nos jours pour la programmation compétitive. Il possède des fonctionnalités de programmation impératives, orientées objet et génériques.
 +
*C++ fonctionne sur de nombreuses plateformes comme Windows, Linux, Unix, Mac, etc. Avant de commencer à programmer avec C++. Nous aurons besoin d’un environnement à installer sur notre ordinateur local pour compiler et exécuter nos programmes C++ avec succès.
 +
* Si on ne souhait pas configurer un environnement local, on peut également utiliser des IDE en ligne pour compiler le programme.
 +
 
 +
<span style="color:#000090;"><big><U> <p><FONT size="3">'''Mise en place de l’environnement local  '''</p></FONT></U></big></span>
 +
 
 +
 
 +
Pour configurer votre propre environnement de développement personnel sur votre ordinateur local, vous devez installer deux logiciels importants :
 +
 
 +
<span style="color:#000090;"><big><U> <p><FONT size="2">'''Éditeur de texte : '''</p></FONT></U></big></span>
 +
Avant de commencer à programmer avec C++, il faut avoir un éditeur de texte installé pour écrire des programmes.
 +
*Les éditeurs de texte sont des types de programmes utilisés pour éditer ou écrire des textes.
 +
*Nous utiliserons des éditeurs de texte pour taper nos programmes C++. L’extension normale d’un fichier texte est (.txt) mais un fichier texte contenant un programme C++ doit être enregistré avec l’extension ‘.CPP’ ou ‘.C’. Les fichiers se terminant par l’extension ‘.CPP’ et ‘.C’ sont appelés fichiers de code source et ils sont censés contenir du code source écrit en langage de programmation C++.
 +
*Ces extensions aident le compilateur à identifier que le fichier contient un programme C++.
 +
 
 +
<span style="color:#000090;"><big><U> <p><FONT size="2">'''Compilateur C++ : '''</p></FONT></U></big></span>
 +
 
 +
* Une fois que vous avez installé l’éditeur de texte et tapé et enregistré votre programme dans un fichier avec l’extension ‘.CPP’, vous aurez besoin d’un compilateur C++ pour compiler ce fichier.
 +
* Un compilateur est un programme informatique qui convertit un langage de haut niveau en langage de bas niveau compréhensible par la machine.
  
<!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées-->
+
<span style="color:magenta"><big><U> <p><FONT size="5">'''  Mots-clés du langage '''</p></FONT></U></big></span>
  
Image:NaConstructeurs+de+classe+_+exemple.jpg|Exemple C++
+
<span style="color:rouge ;"><p><big><FONT size="2">'''asm :'''</FONT></big></span>  Pour déclarer qu’un bloc de code doit être passé à l’assembleur.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''auto : '''</FONT></big></span> un spécificateur de classe de stockage utilisé pour définir des objets dans un bloc.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''break : '''</FONT></big></span> termine une instruction switch ou une boucle.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''case : '''</FONT></big></span> Utilisé spécifiquement dans une instruction switch pour spécifier une correspondance pour l’expression de l’instruction.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''catch : '''</FONT></big></span> spécifie les actions entreprises lorsqu’une exception se produit.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''char : '''</FONT></big></span> type de données fondamental qui définit les objets caractères.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''class : '''</FONT></big></span> pour déclarer un type défini par l’utilisateur qui encapsule des membres de données et des opérations ou des fonctions membres.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''const : '''</FONT></big></span> Pour définir des objets dont la valeur ne changera pas pendant toute la durée d’exécution du programme.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''continue : '''</FONT></big></span>- Transfère le contrôle au début d’une boucle.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''défaut : '''</FONT></big></span>par  – Gère les valeurs d’expression dans une instruction switch qui ne sont pas gérées par la casse.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''delete : '''</FONT></big></span> Opérateur de désallocation mémoire.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''do : '''</FONT></big></span> indique le début d’une instruction do-while dans laquelle la sous-instruction est exécutée à plusieurs reprises jusqu’à ce que la valeur de l’expression soit logical-false.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''double : '''</FONT></big></span>  type de données fondamental utilisé pour définir un nombre à virgule flottante.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''else : '''</FONT></big></span> utilisé spécifiquement dans une instruction if-else.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''enum : '''</FONT></big></span> pour déclarer un type de données d’énumération défini par l’utilisateur.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''extern : '''</FONT></big></span> Un identifiant spécifié comme extern a un lien externe avec le bloc.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''float : '''</FONT></big></span>- Type de données fondamental utilisé pour définir un nombre à virgule flottante.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''for : '''</FONT></big></span> Indique le début d’une instruction pour obtenir un contrôle répétitif.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''friend : '''</FONT></big></span> une classe ou une opération dont l’implémentation peut accéder aux données privées membres d’une classe.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''goto : '''</FONT></big></span> Transfère le contrôle vers une étiquette spécifiée.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''if : '''</FONT></big></span> indique le début d’une instruction if pour obtenir un contrôle sélectif.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''inline :  '''</FONT></big></span>un spécificateur de fonction qui indique au compilateur que la substitution en ligne du corps de la fonction doit être préférée à l’implémentation d’appel de fonction habituelle.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''int : '''</FONT></big></span>type de données fondamental utilisé pour définir des objets entiers.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''long :'''</FONT></big></span> un modificateur de type de données qui définit un int 32 bits ou un double étendu.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''nouveau :  '''</FONT></big></span>opérateur d’allocation mémoire.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''opérateur :'''</FONT></big></span> surcharge un opérateur c++ avec une nouvelle déclaration.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''private : '''</FONT></big></span> Déclare les membres de la classe qui ne sont pas visibles en dehors de la classe.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''protected : '''</FONT></big></span> déclare les membres de la classe qui sont privés, sauf pour les classes dérivées</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''public : '''</FONT></big></span> déclare les membres de la classe qui sont visibles en dehors de la classe.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''register : '''</FONT></big></span>  un spécificateur de classe de stockage qui est un spécificateur automatique, mais qui indique également au compilateur qu’un objet sera fréquemment utilisé et doit donc être conservé dans un registre.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''return : '''</FONT></big></span>  renvoie un objet à l’appelant d’une fonction.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''short : '''</FONT></big></span>  un modificateur de type de données qui définit un nombre entier de 16 bits.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">''' signé : '''</FONT></big></span> un modificateur de type de données qui indique que le signe d’un objet doit être stocké dans le bit de poids fort.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''sizeof : '''</FONT></big></span>  renvoie la taille d’un objet en octets.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''statique : '''</FONT></big></span>  la durée de vie d’un objet statique défini existe pendant toute la durée de vie de l’exécution du programme.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''struct : '''</FONT></big></span>  pour déclarer de nouveaux types qui encapsulent à la fois des données et des fonctions membres.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''switch :'''</FONT></big></span>  Ce mot-clé utilisé dans l’« instruction Switch ».</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''template : '''</FONT></big></span>  type paramétré ou générique.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">''' this : '''</FONT></big></span> Un pointeur de classe pointe vers un objet ou une instance de la classe.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''throw : '''</FONT></big></span>  génère une exception.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''try : '''</FONT></big></span>  Indique le début d’un bloc de gestionnaires d’exceptions.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''typedef : '''</FONT></big></span>  Synonyme d’un autre type intégral ou défini par l’utilisateur.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''union :  '''</FONT></big></span>Similaire à une structure, struct, en ce sens qu’elle peut contenir différents types de données, mais une union ne peut contenir qu’un seul de ses membres à un moment donné.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''unsigned : '''</FONT></big></span> un modificateur de type de données qui indique que le bit de poids fort doit être utilisé pour un objet.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''virtual : '''</FONT></big></span> Un spécificateur de fonction qui déclare une fonction membre d’une classe qui sera redéfinie par une classe dérivée.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''void : '''</FONT></big></span> Absence d’une liste de paramètres de type ou de fonction.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''volatile : '''</FONT></big></span> Définit un objet dont la valeur peut varier d’une manière indétectable pour le compilateur.</p>
 +
<span style="color:rouge ;"><p><big><FONT size="2">'''while : '''</FONT></big></span> début d’une instruction while et fin d’une instruction do-while.</p>
  
</gallery><!-- ************** Fin modification images***************************-->
 
 
}}<!--************** Fin Fiche Didactique Explicitations ******************* -->
 
}}<!--************** Fin Fiche Didactique Explicitations ******************* -->
  
Ligne 235 : Ligne 298 :
 
<!-- ****************** Commercez les modifications *************************-->
 
<!-- ****************** Commercez les modifications *************************-->
  
 +
* confusion entre [[C et C++]]
 
* Confusion entre [[Objet et Classe]]
 
* Confusion entre [[Objet et Classe]]
* Confusion entre [[Java et C++]]
 
 
* Confusion entre [[Polymorphisme et Héritage]]
 
* Confusion entre [[Polymorphisme et Héritage]]
 
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* -->
 
}}<!-- ************** Fin Fiche Didactique Conceptions ********************* -->
Ligne 249 : Ligne 312 :
 
<!-- ************ Commercez les modifications *********************-->
 
<!-- ************ Commercez les modifications *********************-->
  
* [[Quels sont les avantages de C++ ?]]?
+
{{@}} '''[[{{FULLPAGENAME}} : Questions - Réponses|{{FULLPAGENAME}} : Regroupement de questions]]'''
 +
 
 +
* [[Qu’est-ce que C++? Quels sont les avantages d’utiliser C++?]]
 +
* [[Quel type de langage est  C++? Programmation ou script?]]
 +
* [[Quelles sont les différences entre C et  C++?]]
 
* [[Comment déclarer un objet en C++ ]]?
 
* [[Comment déclarer un objet en C++ ]]?
 
* [[Comment déclarer un tableau en C++ ?]]?
 
* [[Comment déclarer un tableau en C++ ?]]?
 
* [[Comment programmer en C++ ?]]?
 
* [[Comment programmer en C++ ?]]?
 +
* [[Est ce qu'on peut gérer une BD avec C++ ?]]
 +
* [[Pourquoi  C++ est un langage interprété?]]
 +
* [[Qu'est ce que la notion de dictionnaires  C++?]]
 +
* [[Comment convertir un objet en chaîne en  C++?]]
  
  
Ligne 269 : Ligne 340 :
 
<!-- ****************** Commercez les modifications **************************  -->
 
<!-- ****************** Commercez les modifications **************************  -->
  
* ..................                                               
+
*..........................
:* .................
+
*...............
* ..................                                               
+
 
:* .................                                                  
+
                                                  
  
 
}}<!-- ************************* Fin Idées-Enseignement ********************** -->
 
}}<!-- ************************* Fin Idées-Enseignement ********************** -->
 
  
 
== {{Widget:Aides et astuces-Fiche}} ==
 
== {{Widget:Aides et astuces-Fiche}} ==

Version actuelle datée du 7 juin 2022 à 17:40


Autres Fiches Conceptuelles
Posez une Question


(+)

Target Icon.pngVotre Publicité sur le Réseau Target Icon.png

Puce-didaquest.png Traduction


More-didaquest.png Traductions


Puce-didaquest.png Définition

Domaine, Discipline, Thématique


More-didaquest.png Justification


Définition écrite


* Date de première version: 1985

* Paradigme: générique, orienté objet, procédural

* Auteur: Bjarne Stroustrup

* Dernière version: C++20 (décembre 2020)

* Typage: statique, unsafe, nominatif

* Normes:

               ISO/CEI 14882:1998
               ISO/CEI 14882:2003
               ISO/CEI 14882:2011
               ISO/CEI 14882:2014
               ISO/CEI 14882:2017
               ISO/IEC 14882:2020

* Influencé par: C, Simula, Ada 83, Algol 68, CLU, ML

* A influencé: Ada 95, C#, PHP, D, JavaScript, Java, X++, Rust

*Implémentations: GNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, XCode Tools

*Site web: isocpp.org [archive]

*Extension de fichier: cc, cpp, cxx, c, c++, h, hpp, hh, hxx et h++


More-didaquest.png C++ - Historique (+)


Définition graphique


Ing-connaissance.png Carte conceptuelle : C++
Ing-connaissance.png didactique.info : C++






Puce-didaquest.png Concepts ou notions associés


More-didaquest.png C++ - Glossaire / (+)



Puce-didaquest.png Exemples, applications, utilisations

Domaines d'application

C++ : Gaming

  • Le développement de jeux a été un domaine d’application majeur du C++.
  • Le langage permet de contourner les goulots d’étranglement en matière de performances, tels que l’allocation de mémoire.
  • Il permet de structurer les zones de données et de gérer la mémoire.
  • Il permet la programmation procédurale pour les opérations intensives du CPU, ce qui le rend assez rapide, et il offre un meilleur contrôle sur le matériel.
  • De nombreux moteurs de jeux sont écrits en C++.

C++ : Systèmes embarqués

  • Le C++ est largement présent dans les systèmes embarqués.
  • Il existe une demande massive d’ingénieurs en systèmes embarqués compétents en C++.
  • Les domaines comprennent les logiciels automobiles, les logiciels de contrôle de vol, le contrôle des fusées, les moteurs marins, le contrôle des éoliennes, la tomographie par ordinateur et l’instrumentation scientifique.
  • De nombreux équipements médicaux de pointe, tels que les machines IRM, utilisent C++ pour le scriptage de leurs logiciels.
  • Le C++ fait également partie des applications d’ingénierie, telles que les systèmes CAD/CAM haut de gamme.

C++ : Enseignement et recherche

  • Le langage de programmation C++ est également largement utilisé pour l’enseignement.
  • Il constitue une excellente option pour l’enseignement de concepts de base ou avancés.

Par exemple: - la sécurité des types - la gestion des ressources - les invariants peuvent être enseignés avec C++.

  • Les trois principes de la programmation orientée objet – encapsulation, héritage et polymorphisme – peuvent être enseignés en C++, tout comme les modèles de classes, les hiérarchies de classes et les modèles de conception.
  • Le C++ est également idéal pour la démonstration d’algorithmes avancés.

Environnement et installation

  • C++ est un langage de programmation à usage général et largement utilisé de nos jours pour la programmation compétitive. Il possède des fonctionnalités de programmation impératives, orientées objet et génériques.
  • C++ fonctionne sur de nombreuses plateformes comme Windows, Linux, Unix, Mac, etc. Avant de commencer à programmer avec C++. Nous aurons besoin d’un environnement à installer sur notre ordinateur local pour compiler et exécuter nos programmes C++ avec succès.
  • Si on ne souhait pas configurer un environnement local, on peut également utiliser des IDE en ligne pour compiler le programme.

Mise en place de l’environnement local


Pour configurer votre propre environnement de développement personnel sur votre ordinateur local, vous devez installer deux logiciels importants :

Éditeur de texte :

Avant de commencer à programmer avec C++, il faut avoir un éditeur de texte installé pour écrire des programmes.

  • Les éditeurs de texte sont des types de programmes utilisés pour éditer ou écrire des textes.
  • Nous utiliserons des éditeurs de texte pour taper nos programmes C++. L’extension normale d’un fichier texte est (.txt) mais un fichier texte contenant un programme C++ doit être enregistré avec l’extension ‘.CPP’ ou ‘.C’. Les fichiers se terminant par l’extension ‘.CPP’ et ‘.C’ sont appelés fichiers de code source et ils sont censés contenir du code source écrit en langage de programmation C++.
  • Ces extensions aident le compilateur à identifier que le fichier contient un programme C++.

Compilateur C++ :

  • Une fois que vous avez installé l’éditeur de texte et tapé et enregistré votre programme dans un fichier avec l’extension ‘.CPP’, vous aurez besoin d’un compilateur C++ pour compiler ce fichier.
  • Un compilateur est un programme informatique qui convertit un langage de haut niveau en langage de bas niveau compréhensible par la machine.

Mots-clés du langage

asm : Pour déclarer qu’un bloc de code doit être passé à l’assembleur.

auto : un spécificateur de classe de stockage utilisé pour définir des objets dans un bloc.

break : termine une instruction switch ou une boucle.

case : Utilisé spécifiquement dans une instruction switch pour spécifier une correspondance pour l’expression de l’instruction.

catch : spécifie les actions entreprises lorsqu’une exception se produit.

char : type de données fondamental qui définit les objets caractères.

class : pour déclarer un type défini par l’utilisateur qui encapsule des membres de données et des opérations ou des fonctions membres.

const : Pour définir des objets dont la valeur ne changera pas pendant toute la durée d’exécution du programme.

continue : - Transfère le contrôle au début d’une boucle.

défaut : par – Gère les valeurs d’expression dans une instruction switch qui ne sont pas gérées par la casse.

delete : Opérateur de désallocation mémoire.

do : indique le début d’une instruction do-while dans laquelle la sous-instruction est exécutée à plusieurs reprises jusqu’à ce que la valeur de l’expression soit logical-false.

double : type de données fondamental utilisé pour définir un nombre à virgule flottante.

else : utilisé spécifiquement dans une instruction if-else.

enum : pour déclarer un type de données d’énumération défini par l’utilisateur.

extern : Un identifiant spécifié comme extern a un lien externe avec le bloc.

float : - Type de données fondamental utilisé pour définir un nombre à virgule flottante.

for : Indique le début d’une instruction pour obtenir un contrôle répétitif.

friend : une classe ou une opération dont l’implémentation peut accéder aux données privées membres d’une classe.

goto : Transfère le contrôle vers une étiquette spécifiée.

if : indique le début d’une instruction if pour obtenir un contrôle sélectif.

inline : un spécificateur de fonction qui indique au compilateur que la substitution en ligne du corps de la fonction doit être préférée à l’implémentation d’appel de fonction habituelle.

int : type de données fondamental utilisé pour définir des objets entiers.

long : un modificateur de type de données qui définit un int 32 bits ou un double étendu.

nouveau : opérateur d’allocation mémoire.

opérateur : surcharge un opérateur c++ avec une nouvelle déclaration.

private : Déclare les membres de la classe qui ne sont pas visibles en dehors de la classe.

protected : déclare les membres de la classe qui sont privés, sauf pour les classes dérivées

public : déclare les membres de la classe qui sont visibles en dehors de la classe.

register : un spécificateur de classe de stockage qui est un spécificateur automatique, mais qui indique également au compilateur qu’un objet sera fréquemment utilisé et doit donc être conservé dans un registre.

return : renvoie un objet à l’appelant d’une fonction.

short : un modificateur de type de données qui définit un nombre entier de 16 bits.

signé : un modificateur de type de données qui indique que le signe d’un objet doit être stocké dans le bit de poids fort.

sizeof : renvoie la taille d’un objet en octets.

statique : la durée de vie d’un objet statique défini existe pendant toute la durée de vie de l’exécution du programme.

struct : pour déclarer de nouveaux types qui encapsulent à la fois des données et des fonctions membres.

switch : Ce mot-clé utilisé dans l’« instruction Switch ».

template : type paramétré ou générique.

this : Un pointeur de classe pointe vers un objet ou une instance de la classe.

throw : génère une exception.

try : Indique le début d’un bloc de gestionnaires d’exceptions.

typedef : Synonyme d’un autre type intégral ou défini par l’utilisateur.

union : Similaire à une structure, struct, en ce sens qu’elle peut contenir différents types de données, mais une union ne peut contenir qu’un seul de ses membres à un moment donné.

unsigned : un modificateur de type de données qui indique que le bit de poids fort doit être utilisé pour un objet.

virtual : Un spécificateur de fonction qui déclare une fonction membre d’une classe qui sera redéfinie par une classe dérivée.

void : Absence d’une liste de paramètres de type ou de fonction.

volatile : Définit un objet dont la valeur peut varier d’une manière indétectable pour le compilateur.

while : début d’une instruction while et fin d’une instruction do-while.


(+)


Puce-didaquest.png Erreurs ou confusions éventuelles



Puce-didaquest.png Questions possibles



Puce-didaquest.png Liaisons enseignements et programmes

Idées ou Réflexions liées à son enseignement



Aides et astuces



Education: Autres liens, sites ou portails




Puce-didaquest.png Bibliographie