LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

Вы знаете, одно UB другому UB рознь.

  • Разыменовывать нулевой указатель это UB, но я могу с очень высокой точностью предсказать, как именно будет выполняться такой код.
  • Нарушать strict aliasing это UB, но в ряде случаев результат исполнения практически гарантирован.
  • Обращаться на чтение/запись из нескольких потоков к разделяемой переменной, не используя примитивы синхронизации, это UB, но поведение такого кода тоже более чем предсказуемо.

Не стоит молиться на волшебные два слова в стандарте. Лоб расшибете.

Исходная версия Siborgium, :

Вы знаете, одно UB другому UB рознь.

  • Разыменовывать нулевой указатель это UB, но я могу с очень высокой точностью предсказать, как именно будет выполняться такой код.
  • Нарушать strict aliasing это UB, но в ряде случаев результат исполнения практически гарантирован.
  • Обращаться из нескольких потоков к разделяемой переменной, не используя примитивы синхронизации, это UB, но поведение такого кода тоже более чем предсказуемо.

Не стоит молиться на волшебные два слова в стандарте. Лоб расшибете.