« Programmation C++/Les fonctions » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 205 :
Les avantages sont que cet appel nécessite moins de charge de travail pour la machine. En effet, par valeur, il faut faire une copie de l'objet, alors que par pointeur, seule l'adresse de l'objet est copiée. L'inconvénient, c'est qu'on peut accidentellement modifier dans la fonction appelée la valeur de la variable, ce qui se répercutera également dans la fonction appelante. La solution est simple : il suffit d'ajouter const dans le prototype de fonction de cette manière :
<source lang="cpp">
void passagePointeur (const int *);
// En d'autres termes, un pointeur vers un int constant
</source>
ainsi que la définition de fonction comme ceci :
<source lang="cpp">
void passagePointeur (const int * ptr)
{
// * ptr = 9; // <- maintenant interdit