lvalue 및 rvalue를 학습합니다. 정의는 "주소"가 될 수있는 것이 무엇이든간에 왼쪽 값이고 그렇지 않으면 rvalue입니다.lvalue 및 rvalue 전/후 단위 증분
연산자 우선 순위를 확인한 결과 접두사와 접미사 증가 모두가 "주소"연산자보다 우선합니다.
다음 두 예제의 경우 첫 번째 "& ++ value1"은 좌변표이고 두 번째 것은 "& value1 ++"가 rvalue 인 이유를 누구든지 설명 할 수 있습니까?
두 경우에 대한 이해가 잘못되었습니다. pValue1이 value1 변수를 가리키고 있습니다. 아무리의 값 1은 이전 또는 주소의 상관 관계가 구축되면, 값 1 변수는 항상 하나 개의 메모리 위치를 차지하고 우리가 바로 그 주소를 도출 할 수 후 8로 변경되지 않습니다?
int value1=7;
int *pValue1=&++value1;
int *pValue1 = &value1++;
접미사'연산자 ++의'preincremented 복사,하지 증가 개체에 직접 관련되지 – Fureeish
에 대한 참조를 반환하지만 '좌변'당신의 정의가 완전하지 않습니다. bitfields은 lvalues지만, 당신은 그들의 주소를 얻을 수 없습니다. – HolyBlackCat