Size: a a a

2020 July 29

AD

Apache DOG™ in pro.cxx
Он не для игровых движков, но 2д игру на идрисе я видел
источник

O

Ofee in pro.cxx
Побитый Кирпич
Ты платишь за доп. функционал, это не нарушение принципа
Я в качестве аргумента я просто приведу вот эту бумагу, её определённо писал кто-то более компетентный в вопросе, чем я и там на 12 странице в табличке можно увидеть, где автор считает этот пункт нарушенным и сравнивает в том числе с кодами возврата и expected<T,E>/outcome<T>
источник

ГH

Гласси Hudobin in pro.cxx
Apache DOG™
Он не для игровых движков, но 2д игру на идрисе я видел
А мне надо, чтобы железо плакало кровавыми слезами, атмеги в том числе.
источник

O

Ofee in pro.cxx
И Ivan
А почему нет?
Не знаю, я некомпетентен в вопросе низкоуровневой реализации исключений, так что чуть выше я сослался на более авторитетную для меня бумагу
источник

AD

Apache DOG™ in pro.cxx
Но интерпретировать монады в трайкетчи во многих случаях возможно
источник

ГH

Гласси Hudobin in pro.cxx
Apache DOG™
Но интерпретировать монады в трайкетчи во многих случаях возможно
но ведь тип вокруг std::expected не нуждается в try-catch?
источник

AD

Apache DOG™ in pro.cxx
Интерпретируй в них
источник

ГH

Гласси Hudobin in pro.cxx
Apache DOG™
Интерпретируй в них
зачем, если у меня уже есть expected?
источник

ИI

И Ivan in pro.cxx
Ofee
Не знаю, я некомпетентен в вопросе низкоуровневой реализации исключений, так что чуть выше я сослался на более авторитетную для меня бумагу
Как я понимаю, в исключениях можно глянуть в табличку, где это исключение ловится, и размотать стек до нужной точки. А коды ошибок придется каждый раз копировать. Если стек большой, то будет хуже
источник

AD

Apache DOG™ in pro.cxx
Гласси Hudobin
зачем, если у меня уже есть expected?
Потому что громоздко и невыразительно
источник

ГH

Гласси Hudobin in pro.cxx
Apache DOG™
Потому что громоздко и невыразительно
с методами .then/.else громоздко и невыразительно?
источник

AD

Apache DOG™ in pro.cxx
Гласси Hudobin
с методами .then/.else громоздко и невыразительно?
Да
источник

AD

Apache DOG™ in pro.cxx
Такое на джавке было ещё с 8 версии
источник

O

Ofee in pro.cxx
И Ivan
Как я понимаю, в исключениях можно глянуть в табличку, где это исключение ловится, и размотать стек до нужной точки. А коды ошибок придется каждый раз копировать. Если стек большой, то будет хуже
Не представляю, как это согласуется с необходимостью вызовов деструкторов всех созданных объектов на стеке в каждой из функций, впрочем, опять же, я очень далёк от этой темы, так что может быть, в каких-то случаях исключения и окажутся эффективными. Но это же не повод избегать добавления в язык больше возможностей для реализации альтернативных способов обработки ошибок, которые могут в некоторых случаях оказаться более эффективными?
источник

ГH

Гласси Hudobin in pro.cxx
get_opt().or_else([]{std::cout << "get_opt failed";});
get_opt().or_else([]{throw std::runtime_error("get_opt_failed")});
источник

ИI

И Ivan in pro.cxx
Ofee
Не представляю, как это согласуется с необходимостью вызовов деструкторов всех созданных объектов на стеке в каждой из функций, впрочем, опять же, я очень далёк от этой темы, так что может быть, в каких-то случаях исключения и окажутся эффективными. Но это же не повод избегать добавления в язык больше возможностей для реализации альтернативных способов обработки ошибок, которые могут в некоторых случаях оказаться более эффективными?
Я особо не против, но как я уже писал выше, не вижу прям сильного преимущества перед обычными исключениями. Допилить бы noexcept, и большинство остального станет не нужно
источник

ПК

Побитый Кирпич... in pro.cxx
Ofee
Не представляю, как это согласуется с необходимостью вызовов деструкторов всех созданных объектов на стеке в каждой из функций, впрочем, опять же, я очень далёк от этой темы, так что может быть, в каких-то случаях исключения и окажутся эффективными. Но это же не повод избегать добавления в язык больше возможностей для реализации альтернативных способов обработки ошибок, которые могут в некоторых случаях оказаться более эффективными?
Исключения определённо более эффективны в коде в котором success path происходит чаще, чем failure path. Потому что коды возврата ты должен проверять в любом случае на всём стеке вызовов, а исключения на success path ничего не стоят
источник

ПК

Побитый Кирпич... in pro.cxx
>success path происходит чаще, чем failure path

Это думаю бОльшая часть кода
источник

AD

Apache DOG™ in pro.cxx
Побитый Кирпич
>success path происходит чаще, чем failure path

Это думаю бОльшая часть кода
ой не факт
источник

AD

Apache DOG™ in pro.cxx
у меня было дело с овносквернисом который 500-ил мне 60% запросов
источник