Aujourd'hui je lisais à propos de la fonction pure, je me suis confondu avec son utilisation:
Une fonction est dite pure si elle renvoie le même ensemble de valeurs pour le même ensemble d'entrées et n'a pas d'effets secondaires observables.
par exemple, strlen()
est une fonction pure tandis que rand()
est impure.
__attribute__ ((pure)) int fun(int i)
{
return i*i;
}
int main()
{
int i=10;
printf("%d",fun(i));//produit 100
return 0;
}
Le programme ci-dessus se comporte de la même manière qu'en l'absence de la déclaration pure
.
Quels sont les avantages de déclarer une fonction comme pure
[s'il n'y a pas de changement dans la sortie]?