Sous-sections

10.2 Quelques spécificités du C++ par rapport au C

10.2.1 Commentaires

En plus des commentaires en C, on utilise le symbole // en début de ligne


\begin{lstlisting}
/* ceci est un commentaire en C */
// et celui ci en c++
\end{lstlisting}

10.2.2 entrés-sorties

La librairie C <stdio.h> est remplacée par la notion de flux d'E/S (fichier <iostream>), avec les fonctions cout et << pour afficher et cin et >> pour lire.


\begin{lstlisting}
...

l'utilisation de l'instruction using namespace std; évite de spécifier le nom complet des fonctions E/S:

std::cout et std::cin

10.2.3 Mot clé const

Permet de remplacer les pseudo constante du C avec #define par la notion de constante


\begin{lstlisting}
const int Nmax=10;
float X[Nmax];
\end{lstlisting}

10.2.4 Passage d'arguments par adresse

Permet d'éviter l'écriture de pointeurs en C dans les arguments d'une fonction en utilisant le symbole & , référence d'une variable (équivalent de la notion de pointeur).


\begin{lstlisting}
/* version C */
void echange(int *a,int *b) { int c=*a; *a=*b...
...nt &a,int &b) { int c=a; a=b; b=c; }
int x=1,y=2; echange(x,y);
\end{lstlisting}

10.2.5 Allocation dynamique

La gestion mémoire du C avec les fonctions malloc et free est remplacée par l'utilisation des 2 fonctions new pour créer dynamiquement un objet et delete pour le détruire.


\begin{lstlisting}
int *p=new int;
int dim=100;
double *X=new double[dim];
delete p;delete X;
\end{lstlisting}


Pr. Marc BUFFAT
buffat@ufrmeca.univ-lyon1.fr
2004-12-01