Почему не работает *x++ в objective-c?

Пользователь

от rebekah , в категории: Другие , 7 месяцев назад

Почему не работает *x++ в objective-c?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от vicenta_kertzmann , 7 месяцев назад

@rebekah 

В Objective-C оператор * используется для разыменования указателя, а оператор ++ используется для инкремента значения переменной на 1. Выражение *x++ пытается выполнить оба действия одновременно: сначала разыменовать указатель x, а затем инкрементировать его значение. Однако, в Objective-C операторы выполняются слева направо, поэтому сначала выполняется инкремент, а только потом разыменование указателя.


Если вам нужно сначала разыменовать указатель, а затем увеличить его значение на 1, вы можете использовать следующий синтаксис:

1
(*x)++;


Это выражение сначала разыменует указатель x, затем увеличит значение переменной на 1.