Bugün saf işlev hakkında okuyordum, kullanımıyla karıştırıldım:
Aynı girdi kümesi için aynı değer kümesini döndüren ve gözlemlenebilir herhangi bir yan etkisi olmayan bir işlevin saf olduğu söylenir.
örneğin strlen()saf bir işlev iken rand()saf olmayan bir işlevdir .
__attribute__ ((pure)) int fun(int i)
{
return i*i;
}
int main()
{
int i=10;
printf("%d",fun(i));//outputs 100
return 0;
}
Yukarıdaki program, purebildirim yokluğunda olduğu gibi davranır .
Bir işlevi pure[çıktıda değişiklik yoksa] olarak bildirmenin faydaları nelerdir ?