Size: a a a

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

2020 August 31

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Кстати, я тут такой чисто подумал.
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
А ведь без goto в Си вообще никак.
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
А ведь без goto в Си вообще никак.
Наведи ситуацию когда без goto никак
источник

JC

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

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Хотя можно так гоутунуться к освобождению еще не захваченых ресурсов....
источник

М

Миша́НЯ♿️ in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
Вот такой самый кейс это ранние ретурны.
Типо идешь по функции, что-то уже успел захватить, потом делаешь какие-то проверки и понимаешь, что можно дальше по функции уже не идти.
В итоге можно либо сделать ретурн и проебать все ресурсы, либо гоуту в конец к освобождению всех ресурсов.
Перед каждым return чекаешь, выделен ли ресурс и освобождаешь его в случае чего
источник

J

Jmik in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
Вот такой самый кейс это ранние ретурны.
Типо идешь по функции, что-то уже успел захватить, потом делаешь какие-то проверки и понимаешь, что можно дальше по функции уже не идти.
В итоге можно либо сделать ретурн и проебать все ресурсы, либо гоуту в конец к освобождению всех ресурсов.
Понимаешь что дальше можно не идти и освобождаешь ресурсы которые успел создать
Пара лишних строк кода - зато без goto
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Тут вопрос что вероятнее, что кто-то забудет освободить ресурсы или налажает с гоуту?
источник

YS

Y S in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
А ведь без goto в Си вообще никак.
В плане?
источник

JC

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

YS

Y S in IT KPI C/C++ ХВ (не UB)
Ни разу в си goto не использовал
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Ну вот в glibc я видел goto на том же strtok
источник

AT

Art Teatr in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
А ведь без goto в Си вообще никак.
Без goto - ещё как
Без jmp инструкций ассемблера - уже гораздо сложнее
источник

AT

Art Teatr in IT KPI C/C++ ХВ (не UB)
А следить за такими ресурсами - разве не unique_ptr и прочее должно помогать?
источник

JC

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

AT

Art Teatr in IT KPI C/C++ ХВ (не UB)
Добавил фигуных скобочек
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
А ведь без goto в Си вообще никак.
В Си
источник

AT

Art Teatr in IT KPI C/C++ ХВ (не UB)
А
Сорь
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
С RAII вообще никаких проблем
источник

AT

Art Teatr in IT KPI C/C++ ХВ (не UB)
В си только ручками)
источник