Несмотря на то, что я просто советовал против этого в комментарии, может быть полезно рассмотреть все возможности. Для переменной указателя p
имеем:
++p
приращение p
, новое значение
p++
приращение p
, выход старого значения
*++p
приращение p
, доступ к тому, на что он недавно указывает
*p++
инкремент p
, доступ к тому, на что он указывал
++*p
инкремент, на который указывает p
, дает новое значение
(*p)++
приращение, на которое указывает p
, возвращает старое значение
++*++p
инкремент p
, инкремент, на который он вновь указывает, дает новое значение
(*++p)++
инкремент p
, инкремент того, на что он вновь указывает, вернуть старое значение
++(*p++)
приращение p
, приращение того, на что оно указывало, выдает новое значение
(*p++)++
приращение p
, приращение того, на что оно указывало, возвращает старое значение
++p++
бессмысленно
Случаи 9 и 11 - это те, о которых вы спрашивали. В случае 9 я добавил явные скобки, чтобы было более понятно, что происходит. Я думаю, это также сработает, если вы оставите их и скажете ++*p++
, но это заставит мою голову взорваться, поэтому я предпочел бы больше об этом не думать.