différence entre C et C++
Page 1 sur 1
différence entre C et C++
Nous allons parler ici d'un certain nombre de différences existant entre le C et le C++. Nous pourrions d'ailleurs plutôt utiliser le terme d'incompatibilités.
Les fonctions
Les fonctions en C peuvent être définies suivant deux modèles :
Const
Le C++ a quelque peu modifié l'utilisation "C" de ce qualificatif. Pour rappel, "const" est utilisé pour définir une variable constante. C'est une bonne alternative à un define.
La portée en C++ est désormais plus locale. En C, un const permettait pour une variable globale d'être "visible" partout. C++ limite quant à lui la portée d'une telle variable, au fichier source contenant la déclaration.
Compatibilité de pointeurs
En C ANSI, un "void*" est compatible avec tout autre type de pointeurs, et inversement.
Par exemple, ceci est légal en C :
Les fonctions
Les fonctions en C peuvent être définies suivant deux modèles :
Il faut simplement savoir que le C++ n'accepte que la seconde méthode.int CalculeSomme ( a, b )
int a;
int b;
{
... /* Fonction */
} int CalculeSomme ( int a, int b )
{
... /* Fonction */
}
Const
Le C++ a quelque peu modifié l'utilisation "C" de ce qualificatif. Pour rappel, "const" est utilisé pour définir une variable constante. C'est une bonne alternative à un define.
La portée en C++ est désormais plus locale. En C, un const permettait pour une variable globale d'être "visible" partout. C++ limite quant à lui la portée d'une telle variable, au fichier source contenant la déclaration.
Compatibilité de pointeurs
En C ANSI, un "void*" est compatible avec tout autre type de pointeurs, et inversement.
Par exemple, ceci est légal en C :
Ces affectations font intervenir des conversions implicites. En C++, seule la conversion int*->void* est implicite. L'autre reste possible, mais nécessite un "cast" :/* C */
void * pQqch; /* Pointeur générique */
int * pEntier; /* Pointeur sur un entier */
pEntier = pQqch;
pQqch = pEntier;
// C++
void * pQqch; // Pointeur générique
int * pEntier; // Pointeur sur un entier
pEntier = (int*)pQqch; // "cast" en entier
Rukia- Modératrice
- Messages : 35
Date d'inscription : 10/12/2007
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|