Статья Автор: Деникина Н.В., Деникин А.В.

Неопределенное поведение

Использование значения из неинициализированной переменной — наш первый пример неопределенного поведения. Неопределенное поведение  — это результат выполнения кода, поведение которого не определено языком C++. В этом случае язык C++ не имеет никаких правил, определяющих, что произойдет, если вы используете значение переменной, которой не было присвоено известное значение. Следовательно, если вы действительно это сделаете, результатом будет неопределенное поведение.

Код, реализующий неопределенное поведение, может проявлять любой из следующих симптомов:
  • Ваша программа выдает разные результаты при каждом запуске.
  • Ваша программа постоянно выдает один и тот же неверный результат.
  • Ваша программа ведет себя непоследовательно (иногда выдает правильный результат, иногда нет).
  • Ваша программа работает, но в дальнейшем выдает неверные результаты.
  • Ваша программа аварийно завершает работу либо сразу, либо позже.
  • Ваша программа работает на некоторых компиляторах, но не работает на других.
  • Ваша программа работает до тех пор, пока вы не измените какой-то другой, на первый взгляд не имеющий к ней отношения код.
 

Или ваш код может в любом случае вести себя правильно.

C++ содержит много случаев, которые могут привести к неопределенному поведению, если вы не будете осторожны. Мы укажем на них в будущих уроках, когда столкнемся с ними. Обратите внимание на то, где находятся эти случаи, и убедитесь, что вы избегаете их.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать