純粋関数の利点
今日、私は純粋関数について読んでいて、その使用法に混乱しました: 関数が同じ入力セットに対して同じ値セットを返し、観察可能な副作用がない場合、関数は純粋であると言われます。 たとえば、strlen()は純粋関数rand()ですが、は不純な関数です。 __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 上記のプログラムは、pure宣言がない場合と同じように動作します。 関数をpure[出力に変更がない場合]として宣言する利点は何ですか?