📄 tutcpp_basescpp.html
字号:
nRet;</font></tt>
<br><tt><font color="#1A3251"> if( a==0 )</font></tt>
<br><tt><font color="#1A3251">
a=10;</font></tt>
<br><tt><font color="#1A3251"> nRet = a + b;</font></tt>
<p><tt><font color="#1A3251"> </font><font color="#3333FF">return</font><font color="#1A3251">
nRet;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>
</tr>
</table>
<p><font color="#1A3251"><font face="Verdana">Le "</font><b><tt><font size=+1>&</font></tt></b><font face="Verdana">"
signifie que l'on passe par référence. La ligne de déclaration
de la fonction est en fait la seule différence avec une transmission
par valeur, d'un point de vue code. C'est-à-dire que l'utilisation
des variables dans la fonction s'opère sans "</font><b><tt><font size=+1>*</font></tt></b><font face="Verdana">"
et l'appel à la fonction sans "</font><b><tt><font size=+1>&</font></tt></b><font face="Verdana">".
C'est ce qui fait la puissance des références : c'est transparent
pour l'implémentation, mais cela possède la puissance des
pointeurs.</font></font>
<br><font face="Verdana"><font color="#1A3251">Nous nous habituerons à
leur utilisation au fur et à mesure.</font></font></blockquote>
<b><font face="Verdana"><font color="#1A3251">Opérateurs new et
delete</font></font></b>
<blockquote><font color="#1A3251"><font face="Verdana">En plus des "anciens"
</font><b><tt><font size=+1>malloc</font></tt></b><font face="Verdana">
et </font><b><tt><font size=+1>free</font></tt></b><font face="Verdana">
du C, C++ possède un nouveau jeu d'opérateurs d'allocation/désallocation
de mémoire : </font><b><tt><font size=+1>new</font></tt></b><font face="Verdana">
et </font><b><tt><font size=+1>delete</font></tt></b><font face="Verdana">.</font></font>
<br><font face="Verdana"><font color="#1A3251">Ils ont été
créés principalement pour la gestion dynamique des objets,
mais on peut les utiliser également pour des variables simples.</font></font>
<br><font face="Verdana"><font color="#1A3251">Voici une comparaison d'utilisation
:</font></font>
<br>
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=2 WIDTH="85%" BGCOLOR="#DBDBEE" >
<tr>
<td><tt><font color="#1A3251">...</font></tt>
<br><tt><font color="#006600">/* pour un simple pointeur */</font></tt>
<br><tt><font color="#3333FF">int</font><font color="#1A3251"> * pInt;</font></tt>
<br><tt><font color="#1A3251">pInt = (</font><font color="#3333FF">int</font><font color="#1A3251">*)</font><font color="#3333FF">malloc</font><font color="#1A3251">(1*</font><font color="#3333FF">sizeof</font><font color="#1A3251">(</font><font color="#3333FF">int</font><font color="#1A3251">));</font></tt>
<br><tt><font color="#3333FF">free</font><font color="#1A3251">(pInt);</font></tt>
<br><tt><font color="#1A3251">...</font></tt>
<br><tt><font color="#006600">/* pour un tableau */</font></tt>
<br><tt><font color="#1A3251">pInt = (</font><font color="#3333FF">int</font><font color="#1A3251">*)</font><font color="#3333FF">malloc</font><font color="#1A3251">(100*</font><font color="#3333FF">sizeof</font><font color="#1A3251">(</font><font color="#3333FF">int</font><font color="#1A3251">));</font></tt>
<br><tt><font color="#3333FF">free</font><font color="#1A3251">(pInt);</font></tt>
<br><tt><font color="#1A3251">...</font></tt></td>
<td><tt><font color="#1A3251">...</font></tt>
<br><tt><font color="#006600">// pour un simple pointeur</font></tt>
<br><tt><font color="#3333FF">int</font><font color="#1A3251"> * pInt;</font></tt>
<br><tt><font color="#1A3251">pInt = </font><font color="#3333FF">new int</font><font color="#1A3251">;</font></tt>
<br><tt><font color="#3333FF">delete</font><font color="#1A3251"> pInt;</font></tt>
<br><tt><font color="#1A3251">...</font></tt>
<br><tt><font color="#006600">// pour un tableau</font></tt>
<br><tt><font color="#1A3251">pInt = </font><font color="#3333FF">new int</font><font color="#1A3251">[100];</font></tt>
<br><tt><font color="#3333FF">delete</font><font color="#1A3251"> pInt;</font></tt>
<br><tt><font color="#1A3251">...</font></tt>
<br><tt><font color="#006600">// Tableau de classes</font></tt>
<br><tt><font color="#1A3251">pToto = </font><font color="#3333FF">new</font><font color="#1A3251">
MyClass[50];</font></tt>
<br><tt><font color="#3333FF">delete</font><font color="#1A3251"> []MyClass;</font></tt></td>
</tr>
</table>
<p><font color="#1A3251"><font face="Verdana">Vous remarquerez donc tout
de suite les différences, qui sont évidentes. Insistons simplement
sur la désallocation à l'aide de l'opérateur </font><b><tt><font size=+1>delete</font></tt></b><font face="Verdana">,
qui change suivant que le pointeur est simple, ou bien qu'il correspond
à un tableau lorsqu'il est composé d'objets.</font></font>
<br> </blockquote>
</blockquote>
<a NAME="Les entr閑s/sorties en C++"></a><b><font face="Verdana"><font color="#1A3251"><font size=+1>Les
entrées/sorties en C++</font></font></font></b>
<blockquote><font face="Verdana"><font color="#1A3251">Le langage C++ dispose
de nouvelles routines d'entrées/sorties qui sont plus simples à
utiliser.</font></font>
<p><b><font color="#1A3251"><font face="Verdana">La sortie standard "</font><tt><font size=+1>cout</font></tt><font face="Verdana">"
:</font></font></b>
<br>
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=1 WIDTH="60%" BGCOLOR="#DBDBEE" >
<tr>
<td><tt><font color="#006600">// include indispensable pour cout</font></tt>
<br><tt><font color="#3333FF">#include</font><font color="#1A3251"> <iostream.h></font></tt>
<p><tt><font color="#3333FF">void</font><font color="#1A3251"> main()</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Hello
World !"</font><font color="#1A3251">;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Hello
World !\n"</font><font color="#1A3251">;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Hello
World !"</font><font color="#1A3251"> << endl;</font></tt>
<p><tt><font color="#1A3251"> </font><font color="#3333FF">int</font><font color="#1A3251">
n = 5;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"La
valeur est "</font><font color="#1A3251"> << n << endl;</font></tt>
<p><tt><font color="#1A3251"> </font><font color="#3333FF">float</font><font color="#1A3251">
f = 3.14f;</font></tt>
<br><tt><font color="#1A3251"> </font><font color="#3333FF">char</font><font color="#1A3251">
*ch = </font><font color="#CC6600">"Coucou"</font><font color="#1A3251">;</font></tt>
<br><tt><font color="#1A3251"> cout << ch
<< </font><font color="#CC6600">" float = "</font><font color="#1A3251">
<< f << endl;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>
</tr>
</table>
<p><font face="Verdana"><font color="#1A3251">Ce programme donne en sortie
:</font></font>
<blockquote><tt><font color="#1A3251">Hello World !Hello World !</font></tt>
<br><tt><font color="#1A3251">Hello World !</font></tt>
<br><tt><font color="#1A3251">La valeur est 5</font></tt>
<br><tt><font color="#1A3251">Coucou float = 3.14</font></tt></blockquote>
<font face="Verdana"><font color="#1A3251">Cette nouvelle sortie standard
est donc très intuitive à employer du fait qu'il est inutile
de lui préciser le format de la valeur que l'on souhaite afficher.</font></font>
<br><font color="#1A3251"><font face="Verdana">Le "</font><b><tt><font size=+1>endl</font></tt></b><font face="Verdana">"
est en fait disponible pour éviter d'éventuels "</font><tt><font size=+1>\n</font></tt><font face="Verdana">",
en fin de ligne.</font></font>
<p><b><font color="#1A3251"><font face="Verdana">L'entrée standard
"</font><tt><font size=+1>cin</font></tt><font face="Verdana">" :</font></font></b>
<br>
<table BORDER=0 CELLSPACING=0 CELLPADDING=3 COLS=1 WIDTH="70%" BGCOLOR="#DBDBEE" >
<tr>
<td><tt><font color="#006600">// include indispensable pour cout et cin</font></tt>
<br><tt><font color="#3333FF">#include</font><font color="#1A3251"> <iostream.h></font></tt>
<p><tt><font color="#3333FF">void</font><font color="#1A3251"> main()</font></tt>
<br><tt><font color="#1A3251">{</font></tt>
<br><tt><font color="#1A3251"> </font><font color="#3333FF">int</font><font color="#1A3251">
n;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Entrez
un entier : "</font><font color="#1A3251">;</font></tt>
<br><tt><font color="#1A3251"> cin >> n;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Vous
avez entré : "</font><font color="#1A3251"> << n <<
endl;</font></tt>
<p><tt><font color="#1A3251"> </font><font color="#3333FF">char</font><font color="#1A3251">
ch[81];</font></tt>
<br><tt><font color="#1A3251"> </font><font color="#3333FF">float</font><font color="#1A3251">
f;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Entrez
un entier, une chaine, puis un float :"</font><font color="#1A3251">;</font></tt>
<br><tt><font color="#1A3251"> cin >> n >> ch >>
f;</font></tt>
<br><tt><font color="#1A3251"> cout << </font><font color="#CC6600">"Vous
avez entré : "</font><font color="#1A3251"> << n <<
ch << f << endl;</font></tt>
<br><tt><font color="#1A3251">}</font></tt></td>
</tr>
</table>
<p><font color="#1A3251"><font face="Verdana">Cet exemple illustre brièvement
comment fonctionne "</font><b><tt><font size=+1>cin</font></tt></b><font face="Verdana">".
Bien entendu, aucun contrôle de type n'est effectué, c'est
donc à l'utilisateur qu'il advient de faire attention.</font></font></blockquote>
</td>
</tr>
</table></center>
<br>
<p><img SRC="../Images/TutorialCPP_Sepa.gif" ALT="S閜arateur" NOSAVE height=20 width=100%>
<center><table BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=3 WIDTH="95%" >
<tr>
<td><a href="TutCpp_PresentGale.html"><img SRC="../Images/Previous.gif" ALT="Pr閏閐ent" NOSAVE BORDER=0 height=54 width=54 align=ABSCENTER></a><b><font face="Verdana"><font color="#407AC3"><font size=-1>Présentation
Générale du C++</font></font></font></b></td>
<td>
<center><a href="index.html"><img SRC="../Images/Sommaire.gif" ALT="Sommaire" NOSAVE BORDER=0 height=50 width=100></a></center>
</td>
<td>
<div align=right><b><font face="Verdana"><font color="#407AC3"><font size=-1>La
notion de classe </font></font></font></b><a href="TutCpp_NotionClasse.html"><img SRC="../Images/Next.gif" ALT="Suivant" NOSAVE BORDER=0 height=54 width=54 align=ABSCENTER></a></div>
</td>
</tr>
<tr>
<td><font face="Verdana"><font color="#407AC3"><font size=-2>Précédent</font></font></font></td>
<td>
<center><b><i><font face="Verdana"><font color="#407AC3"><font size=-2>Tutorial
C++ écrit par Gwenaël Brunet</font></font></font></i></b>
<br><font face="Verdana"><font color="#407AC3"><font size=-2>Vous pouvez
lui envoyer un <b><a href="mailto:brunet@traezh.enst-bretagne.fr">mail</a></b></font></font></font></center>
</td>
<td>
<div align=right><font face="Verdana"><font color="#407AC3"><font size=-2>Suivant</font></font></font></div>
</td>
</tr>
</table></center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -