무거운 계산이 루프의 조건부에있는 경우 런타임에 차이가 있습니까? 예를 들어무거운 계산 함수가 루프의 조건부에있는 경우 런타임에 차이가 있습니까?
:
int i,n;
for(i=1;i<=[call to some complex function on n];i++)
...
또는 더 효율적인 하나
int i,n,foo;
foo=[call to some complex function on n];
for(i=1;i<=foo;i++)
...
? 루프는 계산을 한 번 또는 반복 할 때마다 수행합니까?
루프는 첫 번째 예에서 매번 표현식을 평가합니다. – kingdamian42
저는이 주제에 대한 전문가는 아니지만, 상수가 아니기 때문에 조건에서 사용하는 것이 더 느립니다 (컴파일 타임을 계산할 수 없다). 어떤 변수와 관련이 있다면 매번 다시 평가해야합니다. – Pietu1998
@ Pietu1998 그렇다면 컴파일 후 n 값을 입력하면 아무런 차이가 없을 것입니다. – shinzou