Pointeurs et références constantes
Bonjour à tous,
Voici la fonction suivante qui recois une variable int "i", et qui la retourne :
Code:
1 2 3 4
| int returnArg(int i)
{
return i;
} |
Comme la fonction ne modifie l'argument i, on peut la rendre constante :
Code:
1 2 3 4
| int returnArg(const int i)
{
return i;
} |
Si cette fonction était placé dans une classe, comme elle ne fait pas appelle aux variable membre et donc ne les modifies pas, on en arrive à ceci :
Code:
1 2 3 4
| int returnArg(const int i) const
{
return i;
} |
Jusque là je saisi tout, mais quand on fait usage à un pointeur ou une référence, comment s'y prendre, pour :
-Ne pas modifier l'adresse du pointeur ou ne pas modifier la référence
-Ne pas modifier la valeur du pointeur ou de la référence
J'ai déjà vu quelque chose du genre :
Code:
1 2 3 4
| int returnArg(const int* i const) const
{
return i;
} |
Mais je ne serais pas vraiment le définir... Merci à ceux qui sauront m'éclaircir d'avantage.