[passage de param] const [type] *
hello, une question :
le fait de mettre un const devant le type d'un paramètre de fonction ->
empeche la modification de l'adresse du ptr ? ou empeche la modification de tout l'object pointé ? ou encore auter chose ?
En fait je cherche le moyen de passer un ptr en paramètre tout en le blocant contre les modifications qu il pourrait subir dans le corps de la fonction. (lecture seule)
Re: [passage de param] const [type] *
Citation:
Envoyé par ZaaN
le fait de mettre un const devant le type d'un paramètre de fonction ->
empeche la modification de l'adresse du ptr ? ou empeche la modification de tout l'object pointé ? ou encore auter chose ?
En fait je cherche le moyen de passer un ptr en paramètre tout en le blocant contre les modifications qu il pourrait subir dans le corps de la fonction. (lecture seule)
Ca dépend de la position :
et
sont identiques, et indiquent au compilateur que l'objet pointé ne peut pas être modifié. C'est une sorte de 'contrat' que le codeur établi, et qu'il s'engage à respecter. Si il y a violation du contrat, en principe, le compilateur couine. (Sauf cast de goret, évidemment...)
C'est l'effet 'lecture seul' que tu recherches.
Par contre
rends le paramètre à lecture seule. L'objet pointé est modifiable, mais pas le pointeur lui-même.
La combinaison des deux qualificateurs est possible :