LINUX.ORG.RU

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

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

Справедливости ради, вариант «всегда всё проверять» тоже не всегда работает.

Вариантов, как это решить, на самом деле тьма. Можно сделать отдельный тип для ненулевых указателей (не удивлюсь, если для C++ есть библиотека с этим, вот например: https://github.com/microsoft/GSL/blob/main/include/gsl/pointers). Можно сделать пару новых операторов, который при разыменовании кидают исключение если там NULL. Можно добавить прагму, которая включает проверки в каком-то отдельном участке кода.

Просто C/C++ и нормальные решения проблем – это абсолютно несовместимые вещи. C/C++ – это про то, как сделать через жопу, чтобы всем было максимально больно. Ей богу, ректальный копромазохизм от мира программирования.

Исправление hateyoufeel, :

Справедливости ради, вариант «всегда всё проверять» тоже не всегда работает.

Вариантов, как это решить, на самом деле тьма. Можно сделать отдельный тип для ненулевых указателей (не удивлюсь, если для C++ есть библиотека с этим). Можно сделать пару новых операторов, который при разыменовании кидают исключение если там NULL. Можно добавить прагму, которая включает проверки в каком-то отдельном участке кода.

Просто C/C++ и нормальные решения проблем – это абсолютно несовместимые вещи. C/C++ – это про то, как сделать через жопу, чтобы всем было максимально больно. Ей богу, ректальный копромазохизм от мира программирования.

Исправление hateyoufeel, :

Справедливости ради, вариант «всегда всё проверять» тоже не всегда работает.

Вариантов, как это решить, на самом деле тьма. Можно сделать отдельный тип для ненулевых указателей (не удивлюсь, если для C++ есть библиотека с этим). Можно сделать пару новых операторов, который при разыменовании кидают исключение если там NULL. Можно добавить прагму, которая включает проверки в каком-то отдельном участке кода.

Просто C/C++ и нормальные решения проблем – это абсолютно несовместимые вещи. C/C++ – это про то, как сделать через жопу, чтобы всем было максимально больно.

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

Справедливости ради, вариант «всегда всё проверять» тоже не всегда работает.

Вариантов, как это решить, на самом деле тьма. Можно сделать отдельный тип для ненулевых указателей (не удивлюсь, если для C++ есть библиотека с этим). Можно сделать пару новых операторов, который при разыменовании кидают исключение если там NULL. Можно добавить прагму, которая включает проверки в каком-то отдельном участке кода.

Просто C/C++ и нормальные решения проблем – это абсолютно несовместимые вещи.