class Temp { }; Temp foo() { return Temp(); } int main() { const Temp& temp = foo(); }
명세가 없으므로 알 수 없습니다. 말씀하신대로 하면 안되는거가 맞습니다. C/C++은 컴파일되면 OK인 언어가 아닙니다. 컴파일되도 하면 안되는 게 굉장히 많습니다. 특히 메모리 관련해서는요.
http://stackoverflow.com/questions/11560339/returning-temporary-object-and-binding-to-const-reference
사용해도 되는 코드 맞습니다.
foo()가 반환하는 Temp는 main함수의 스택에 생성되겠죠.
도움 많이 됐습니다. const 참조자만 가능하군요.
텍스트 포맷에 대한 자세한 정보
<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]
명세가 없으므로 알 수 없습니다. 말씀하신대로 하면
명세가 없으므로 알 수 없습니다. 말씀하신대로 하면 안되는거가 맞습니다.
C/C++은 컴파일되면 OK인 언어가 아닙니다.
컴파일되도 하면 안되는 게 굉장히 많습니다. 특히 메모리 관련해서는요.
http://stackoverflow.com/ques
http://stackoverflow.com/questions/11560339/returning-temporary-object-and-binding-to-const-reference
사용해도 되는 코드 맞습니다.
foo()가 반환하는 Temp는 main함수의 스택에 생성되겠죠.
감사합니다.^^
도움 많이 됐습니다. const 참조자만 가능하군요.
댓글 달기