는 상상 :이 함수는 어떤 종류의 객체를 반환합니까? 이 같은 상황을 가지고
class className{
...
}
className func(){
className cl;
...
return cl;
}
int main(){
...
func();
}
이 프로그램의 본문에 호출 기능 func()
수익을 무엇? 객체의 임시 사본 cl
? 함수 func()
의 본문에서는 &cl
이라는 주소를 얻을 수 있지만 main()
함수 내에서 &(func())
을 호출하려고하면 오류가 발생하므로 이해가되지 않습니다.
방법은 무한. 너 정말로 무엇을하려고하는거야? – Shoe
이런 유형의 것들을 알아 내는데 유용 할 수있는 한 가지 방법은'className'의 생성자와 복사 생성자를 "cout"으로 정의하는 것입니다. 함수에 "cout'을 몇 개 추가하면 cl이 생성되고 복사 된 위치를 명확하게 볼 수있어 main으로 돌아갈 수 있습니다. – Matt
'className cx = foo();'는 아마 더 이해하기 쉬울 것입니다. 그리고'& (func()) '로 시도한 것은 전혀 이해가되지 않습니다. – WhozCraig