Изучение lvalue и rvalue. Определение: все, что может быть "адресом", является левым значением, а в противном случае - rvalue.
Я проверил приоритет оператора, приращение префикса и постфикса имеет более высокий приоритет, чем оператор "адрес".
В следующих двух примерах кто-нибудь может немного объяснить, почему первое «& ++ value1» является lvalue, а второе «& value1 ++» - rvalue.
Мое неправильное понимание для обоих случаев: pValue1 указывает на переменную value1. Независимо от того, изменилось ли значение value1 на 8 до или после построения корреляции адресов, переменная value1 всегда занимает одну ячейку памяти, и мы можем получить ее адрес, верно?
int value1=7;
int *pValue1=&++value1;
int *pValue1 = &value1++;
operator++
возвращает предварительно увеличенную копию, а не ссылку на увеличенный объект - person Fureeish   schedule 08.09.2017