l-value 와 r-value 차이
l-value 와 r-value
그냥 직관적으로 왼쪽값과 오른쪽값이라는 생각이든다.
int a = 3;
a는 l-value , 3은 r-value 뭐 이런느낌이다.
둘의 차이는 다른 라인에서 참조할 수있는가이다.(참조여부)
연산값은 R-value다.
a + 1 = 3;(X) // a + 1 은 R-value다.
그러나 단항연산자는 괜찮다.
a++ = 3;
int n = 3;
int *p = &n (O)
&n = p;(X)
&n은 R-value다. P는 l-Value다.
함수에서 리턴값은 임시객체다. 그러므로 R-value다.
그러나 반환형이 참조형이면 L-value다.
http://jeremyko.blogspot.kr/2012/08/lvalue-rvalue.html
여기 정말 좋다. 여기서 보자!
'공부 > 프로그래밍' 카테고리의 다른 글
논리형 프로그래밍(?) (0) | 2017.01.14 |
---|---|
함수형 프로그래밍(?) (0) | 2017.01.14 |
식과 제어문 (0) | 2017.01.14 |
동적영역과 정적영역의 차이 (0) | 2017.01.12 |
프로그래밍 언어론 시작!! (0) | 2017.01.12 |