C++에서 함수가 호출될때
스택 영역에 매개변수와 지역변수를 위한
메모리 공간이 생성되는걸로 알고 있는데요
반환타입이 값형식일 경우 사본이 만들어지기 때문에
역시 메모리공간이 생성될텐데
이 사본은 함수 호출될때 생성되는건가요?
아니면 함수가 종료될때 혹은 종료되고 나서 생성되는건가요?
고수님들 답변 좀 부탁드립니다~!
스택 영역에 메모리 공간이 이미 생성되어 있습니다. 반환값이 함수가 실행되기도 전에 생성될 수가 없죠. 반환값 역시 리턴 시에 스택에 쌓는 것이 일반적입니다. 레지스터로 반환할 수도 있습니다.
감사합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
스택 영역에 메모리 공간이 이미 생성되어 있습니다.
스택 영역에 메모리 공간이 이미 생성되어 있습니다.
반환값이 함수가 실행되기도 전에 생성될 수가 없죠.
반환값 역시 리턴 시에 스택에 쌓는 것이 일반적입니다.
레지스터로 반환할 수도 있습니다.
감사합니다.
감사합니다.
댓글 달기