lvalue: 수식이 끝나도 존재하는 RAM 상에 load된 주소를 가리키는 변수 (locator value)
rvalue: 수식의 값 자체 (ex. 숫자, 문자, 문자열 자체)
분류 | lvalue | rvalue |
의미 | locator value : 주소를 가리키는 변수 | 수식의 값 자체 |
예시 | 포인터 변수, 정적 변수 | 숫자, 문자, 문자열 (1, 'a', "hello world") |
특징 |
statement 수식 끝나는 시점에도 메모리 상주 ex) ++i |
statement 종료 시점에 사라지는 임시적인 값 ex) i++ |
C++11 부터는 rvalue 참조자 '&&'를 사용하면 수식이 종료되어도 lifecycle(생명주기)를 연장할 수 있다.
move sementic의 efficient를 보장하기 위해 존재하는 move()함수와 콤비로 쓰인다.
ex) int &&rval = 42; (rval는 42라는 값자체를 가리키는 중, 메모리에서 해제 유보)
'C > C++' 카테고리의 다른 글
CLion 개발 환경 설정하기 (0) | 2021.01.28 |
---|---|
[C++] std::array (0) | 2020.03.31 |
[C++] typedef 대신 using을 사용하자 (0) | 2020.03.30 |
[C++] Lambda Function (0) | 2020.03.30 |
[C++] template <typename T> (0) | 2020.03.23 |