Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 September 27

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Ну так не optional единым
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Есть же std::variant
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Но есть же ексепшен!
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
ну, да, а он нужен?
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Эксепшены ж по перформансу сильно бьют, нет?
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Ладно, я залезаю в спор, не люблю это
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
Эксепшены ж по перформансу сильно бьют, нет?
Да, но удобнее
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Узнать что выходные данные получены задача тривиальная, сложнее когда надо писать обработчики поведений
Чем вызов throw лучше return? (если сам пишешь процедуру, а не использую готовую, где уже ничего не сделать)
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
Эксепшены ж по перформансу сильно бьют, нет?
Не все секции кода под нагрузкой, где-то резонно ошибки отлавливать чем-то более скоростным
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Ладно, я залезаю в спор, не люблю это
Всё же огромная слабость плюсов в их разнообразии (как у линукса с дистрибутивами), нет какого-то одного стабильного бест практикс во многих вопросах (в идеале — единственный или обезоруживающе лучший способ), в каждом проекте что-то своё
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Да, но удобнее
А чем?
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Я для себя вижу мб то, что сначала пишется код как есть, а потом просто catch исключительных ситуаций.
Вместо ифов которые будут прорежать код.
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Вот я использую Qt и его кору в частности активнее, чем stl, и могу не бояться говорить плохо об исключениях
А кто-то иной stl only, и внутри почти используемых либ получает исключения
И всё, приходится терпеть
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Но еррор-вариант меня подкупает явностью и тем, что обработка ошибок выносится на уровень системы типов
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Vsevolod
Чем вызов throw лучше return? (если сам пишешь процедуру, а не использую готовую, где уже ничего не сделать)
В плане лучше? Ретурном ты можешь вернуть либо полезные данные, в которых зарезервировать часть диапазона значений под ошибки, либо просто возвращать код ошибки, а данные через указатели в параметрах

Ексепшен же явно специфицирует что он не связан с полезными данными и к ретурну отношения не имеет, только к ловящему блоку трай-кэтч
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
Я для себя вижу мб то, что сначала пишется код как есть, а потом просто catch исключительных ситуаций.
Вместо ифов которые будут прорежать код.
Да, именно в этом
Был на проекте где ребята своим механизмом исключений пользовались, ещё написанным в бородатых 90х. Там всё было слегка по своему, а сейчас уже поддерживается нативно языком
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
В плане лучше? Ретурном ты можешь вернуть либо полезные данные, в которых зарезервировать часть диапазона значений под ошибки, либо просто возвращать код ошибки, а данные через указатели в параметрах

Ексепшен же явно специфицирует что он не связан с полезными данными и к ретурну отношения не имеет, только к ловящему блоку трай-кэтч
Ну вот способ, как вариант

Чем это принципиально хуже вызова исключения?
Да, возможно может быть чуть многословнее, но в целом довольно прямолинейно
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Aleksey Belkevich
Да, именно в этом
Был на проекте где ребята своим механизмом исключений пользовались, ещё написанным в бородатых 90х. Там всё было слегка по своему, а сейчас уже поддерживается нативно языком
.
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Тоже самое, но в профиль
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Если удобно, то велком
источник