Home Forums US Life 간단한 시뿔뿔 문제 간단한 시뿔뿔 문제 Name * Password * Email 위의 분들 말씀처럼 function의 return type이 reference인데, stack에 할당된 local variable에 대한 reference를 return하기 때문에 function이 return한 시점에서 stack의 메모리는 할당 해제가 된 상태기 때문에 이 reference를 function 종료 후 참조하면 undefined behavior입니다. 즉, 어떤 결과가 나올지는 compiler가 보장할 수 없다는 것입니다. 해당 메모리가 다른 값으로 덮어 쓰어졌다면 이상한 값을 얻게 되고 접근할 수 없는 메모리인 경우 segmentation fault가 발생합니다. 이 경우 해결책은 간단히 return type을 int로 변경하는 것입니다. reference type을 return할 이유가 전혀 없는 것 같고, 효율성 면에서도 int는 copy하더라도 비용이 매우 적으며, local variable을 return하면 compiler가 알아서 return value optimization을 최대한 하려고 하기 때문에 효율성에서 문제가 될 염려도 적습니다. I agree to the terms of service Comment