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++ 문법은 복잡하다. 사실 이런거까지 세세하게 알필요 까지는 없을 것 같지만


공부한 김에 정리차원에서 문서화 해둠





Posted by huammmm1
,