int를 리턴하는 함수가 있다고 하자
int func(...) {
int ret = 0;
...
ret = xxx;
return ret;
}
이렇게 지역변수를 선언해서 그 값을 리턴하는 방법이 있고
int func(...) {
...
ret xxx;
}
그냥 이렇게 값을 바로 리턴하는 방법이 있는데
전자가 더 좋다는 얘기가 있더라고. 왜그런거야?
뭐 sum같은 함수면 당연히 전자로 할수밖에 없지만
굳이 전자로 하지 않아도 되는, 그냥 값을 바로 리턴할수 있는 것도 전자의 방식으로 하는게 좋다고 얼핏 줏어들어서
맞는말이긴 하냐? 이유좀
걍 디버깅하기 쉽다 정도영. 연산 순서를 재배치하고 싶을때도 변수에 담으면 되고. ( data hazard 참고 )
이거 옛날엔 RVO라고 변수생성 안하고 이상한 최적화 했다는데 지금은 필없는듯