lvaue 참조자, rvalue 참조자

김해피·2023년 1월 28일
0

lvalue: 주소를 가리키는 변수, locator value
rvalue: 수식의 값 자체 의미 ex) 1, 2, 3, 'a', "hello"

i++과 ++i 차이

i++ : i을 증가시키지만, i값이 아닌 증가하기 전의 값을 임시로 보관하여 반환
→ i++은 rvalue

++i : i값을 증가시킨 다음 i를 반환
→ ++i는 lvalue

lvalue는 수식이 끝나도 존재하며 rvalue는 수식의 종료와 함께 사라지는 임시적인 값

c++11부터 rvalue 참조자를 사용하면, 수식이 종료되어도 lifecycle를 연장하여 값을 참조할 수 있다.
ex) int &&rvalue = 12;

rvalue 참조자를 선언할 때는 '&'이 아닌 '&&'을 사용한다.

0개의 댓글