const 레퍼런스 반환

보물창고·2021년 8월 30일
0

https://siminq.tistory.com/80#comment20658810

참조를 반환하는 것은

lValue를 반환하는 것이다.

만약에 참조를 반환하는 get함수가 있고,
일반 변수로 get 함수로 받으면 이것은 기존 객체의 복사 대입이 발생하는 것이다.

value를 반환하는 것은

Rvalue를 반환하는 것이다.

만약에 value를 반환하는 get 함수가 있고,
일반 변수로 get 함수를 받으면 이것은 반환하면서 생긴 복사값으로 복사 대입이 발생한다.

예시


기존의 객체가 delete 됨과 동시에 a는 메모리를 잃어버리게 되어 문제가 된다.

const 레퍼런스를 객체에 사용시 생명 연장 등에 주의하자.
그리고 일반 변수를 const ref 타입으로 반환하기보다는 그냥 value로 반환하는 것이 효율적이다.

profile
🔥🔥🔥

0개의 댓글