• Home
  • About
    • KKsDev photo

      KKsDev

      게임 프로그래머를 목표로 Unity, C#을 공부하고 있습니다.

    • Learn More
    • Email
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

C++ r-value 참조

09 Jul 2023

Reading time ~1 minute

r-value란?

int a = 10;

값을 대입할때 왼쪽에있는 값이 l-value이고 l-value 자리에는 변수가 올 수 있고,

오른쪽에 있는 값이 r-value이고 r-value의 자리에는 변수, 상수 모두 올 수 있다.

여기서는 a가 l-value, 10이 r-value가 된다.

int a = 3+7;

또, r-value 자리에는 임시객체가 올 수 있다.

3+7의 연산 결과인 11은 중간 결과이고, 이런 중간결과는 항상 상수이다.

그리고 이게 만약 클래스의 객체라면 임시객체라고 한다.

r-value 참조란?

임시객체를 참조하는것을 r-value 참조라고 한다.

int a = 10;
int &&rdata = a + 5;

이런 중간 결과는 이어지는 연산에 활용된 직후 소멸하는 r-value 이다.

r-value 참조는 이제 곧 사라질 대상에 대해서 참조자를 부여할 수 있다.

Reference

제01장 C와는 다른 C++ - 네 번쨰 - 널널한 개발자 TV



Cppreference Share Tweet +1