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, pure
bildirim yokluğunda olduğu gibi davranır .
Bir işlevi pure
[çıktıda değişiklik yoksa] olarak bildirmenin faydaları nelerdir ?