Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

différence entre C et C++

Aller en bas

différence entre C et C++ Empty différence entre C et C++

Message  Rukia Ven 14 Déc - 11:23

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 :

int CalculeSomme ( a, b )
int a;
int b;
{
... /* Fonction */
} int CalculeSomme ( int a, int b )
{
... /* Fonction */
}
Il faut simplement savoir que le C++ n'accepte que la seconde méthode.

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 :

/* C */
void * pQqch; /* Pointeur générique */
int * pEntier; /* Pointeur sur un entier */
pEntier = pQqch;
pQqch = pEntier;
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 = (int*)pQqch; // "cast" en entier
Rukia
Rukia
Modératrice

Messages : 35
Date d'inscription : 10/12/2007

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser