Модификация объекта

      Комментарии к записи Модификация объекта отключены

Помечено: ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 2 мес., 3 нед. назад.

  • Автор
    Сообщения
  • #3635

    Если вы модифицируете объект или переменную, то не совершайте больше никаких модификаций и вообще больше не обращайтесь к объекту или переменной в пределах этого выражения. Скорее всего, повторное обращение приведет к undefined behaviour.

    int main()
    {
        int array[10] = {0};
        int n = 0;
    
        n = array[n++]; // Когда произойдет инкремент?
                        // До присваивания, или после?
        return 0;
    }

    Существует довольно много ситуаций, в которых не существует четких требований относительно порядка действий в пределах одного выражения. Если вы модифицировали объект, то оставьте его в покое до окончания выражения.

Для ответа в этой теме необходимо авторизоваться.