오늘 나는 순수한 기능에 대해 읽고 그 사용법과 혼동했습니다.
동일한 입력 세트에 대해 동일한 값 세트를 반환하고 관찰 가능한 부작용이없는 함수는 순수하다고합니다.
예를 들어 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
[출력에 변화가없는 경우] 로 선언하면 어떤 이점이 있습니까?