SORU
22 HAZİRAN 2012, Cuma


Saf fonksiyon faydaları

Bugün saf işlevi hakkında okuyordum, onun kullanımı ile kafam karıştı:

Bir fonksiyon eğer girişler aynı değerleri aynı kümesi döndürürse saf olduğu söyleniyor ve gözlemlenebilir herhangi bir yan etkisi yoktur.

örneğin strlen() rand() pis ise saf bir fonksiyonudur.

__attribute__ ((pure)) int fun(int i)
{
    return i*i;
}

int main()
{
    int i=10;
    printf("%d",fun(i));//outputs 100
    return 0;
}

http://ideone.com/33XJU

Yukarıdaki programı pure beyan yokluğunda aynı şekilde davranır.

purebir işlev olarak ilan yararları eğer çıkış değişim ise orada ne var?

CEVAP
22 HAZİRAN 2012, Cuma


pure derleyici bazı optimizasyon yapmak bilmesini sağlar işlevi hakkında: kod biraz hayal gibi

for (int i = 0; i < 1000; i  )
{
    printf("%d", fun(10));
}

Saf bir fonksiyonu, derleyici fun(10) bir kez sadece bir kez, 1000 kez yerine değerlendirmek gerektiğini biliyor. Karmaşık bir işlev için, bu büyük bir galibiyet olmuş.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006