आज मैं शुद्ध कार्य के बारे में पढ़ रहा था, इसके प्रयोग से भ्रमित हो गया:
किसी फ़ंक्शन को शुद्ध कहा जाता है यदि वह उसी सेट के इनपुट के लिए समान मान देता है और इसका कोई भी दुष्प्रभाव नहीं होता है।
उदाहरण के strlen()
लिए एक शुद्ध कार्य है, जबकि rand()
एक अशुद्ध है।
__attribute__ ((pure)) int fun(int i)
{
return i*i;
}
int main()
{
int i=10;
printf("%d",fun(i));//outputs 100
return 0;
}
उपरोक्त कार्यक्रम उसी तरह से व्यवहार करता है जैसे pure
घोषणा के अभाव में ।
फ़ंक्शन को घोषित करने के क्या लाभ हैं pure
[अगर आउटपुट में कोई बदलाव नहीं हुआ है]?