Преимущества std :: error_code / error_condition по сравнению с errno?

Я собираюсь создать свое первое настоящее приложение на C ++ (2D-игру) после пары лет обучения самому программированию. Проблема, с которой я сталкиваюсь, состоит в том, что учебники часто пропускают правильные методы обработки ошибок (или делают минимум). Чтобы попытаться узнать, как работает обработка ошибок, я начал с попытки понять коды ошибок C и errno и их преимущества / недостатки. После этого я посмотрел на C ++ 11 std::error_code/std::error_conditionНо у меня проблемы с пониманием их значимости и улучшения по сравнению с чем-то вроде ошибки. Что именно делает что-то вроде std::error_code улучшение по сравнению с errno?

1

Решение

std::error_code может допустить ошибку с добавленным улучшением, что вы можете преобразовать его в ваши собственные ошибки.

Взгляни на https://www.youtube.com/watch?v=w7ZVbw2X-tE и я уверен, что вы будете намного мудрее с кодом ошибки.

Что касается исключений, убедитесь, что вы относитесь к ним правильно. Во встроенных системах вы обычно не можете позволить себе исключения, потому что вы не знаете Сколько Время они займут, и они займут больше места. В играх, однако, верно, что игровые компании AAA не используют исключения, но для этого они пишут свои собственные специальные контейнеры (см., Например, библиотеки EASTL и WG21-SG14 и обсуждения).
Если вы пишете свою первую игру, используйте стандартные методы, включая исключения, потому что вы не сможете писать свои собственные вещи. Если выдается исключение, и вы его не перехватываете, ваша программа завершается, и начинается обучение.

Обязательно научите себя писать современный C ++, используя как минимум C ++ 14 и предоставляемые функции, это уменьшит ваши проблемы с безопасностью памяти и выпадением волос;)

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector