C++/공개글
객체와 일반자료형의 반환과 참조
huammmm1
2013. 1. 26. 20:46
AAA& func() { ..... }
AAA & ref = func() // 참조의 형태로 받음
AAA ref = func() // ref 객체 생성해서 받음
AAA func() { ..... }
AAA & ref = func() // func이 뱉는 임시객체를 참조의 형태로 받음
AAA ref = func() // func이 뱉는 임시객체를 참조의 형태로 받음
//ref가 새로 생성되면서 복사생성자 두번 호출될 것 같지만 그렇지 않음. 이유는 효율성
이건 AAA 객체일 때 이야기고
일반 자료형을 가지고 얘기해보면
int func() { ..... }
int ref = func() // ref 변수에 리턴값이 들어감
int & ref = func() // 컴파일 에러
결론 :
C++ 문법은 복잡하다. 사실 이런거까지 세세하게 알필요 까지는 없을 것 같지만
공부한 김에 정리차원에서 문서화 해둠