Предполагая определение:
int i = 10; int *p = &i;
Почему * pa здесь допустимое lvalue:
*p+=10;
Не должно * p оценивать значение int, хранящегося в & i, т.е. . 10 и, следовательно, сгенерировать ошибку «Не lvalue»?