passage de paramètres : * et &
Bonjour à tous !
J'ai une petite question qui me trotte dans la tête depuis quelques temps, à savoir :
En C, j'ai souvent vu (et fait) des appels de fonctions où l'on passe un pointeur sur un "objet" en paramètre, pour pouvoir le modifier et éviter une grosse recopie, du genre :
Code:
void mafonction(mastructure1 *s)
Après une rapide formation en C++, le prof écrivait systématiquement ce genre de chose :
Code:
void mafonction(mastructure1 &s)
J'avais pendant le TP écris mes prototypes "à la C" avec * et il m'avait fait la remarque.
D'où mon interrogation (son explication de l'époque est passé à la trappe :oops: ).
En quoi est-ce différent ? Il y a une mécanique en jeu que je ne vois pas ? c'est une question de style ? de norme ?
Merci !