Size: a a a

pro.graphon (and gamedev)

2021 April 02

U

UsernameAK in pro.graphon (and gamedev)
Yaroslav Savin
А дефайны в рантайме подсовываешь?
сам препроцессю.
источник

YS

Yaroslav Savin in pro.graphon (and gamedev)
Шо
источник

YS

Yaroslav Savin in pro.graphon (and gamedev)
Покажи
источник

d

disba1ancer in pro.graphon (and gamedev)
Elias Daler
http://robertseacord.com/wp/2021/03/20/defer-mechanism-or-c-the-movie/
В C думают "defer" добавить. Вот это будет круто, если войдёт в стандарт, и если он выйдет не через 50 лет 😅
Всё хотят goto похоронить? Впрочем механизм не плохой...
источник

U

UsernameAK in pro.graphon (and gamedev)
disba1ancer
Всё хотят goto похоронить? Впрочем механизм не плохой...
слизанный у D
источник

ED

Elias Daler in pro.graphon (and gamedev)
disba1ancer
Всё хотят goto похоронить? Впрочем механизм не плохой...
Ага, goto это скорее костыль для такого, а defer более правильный механизм
источник

ED

Elias Daler in pro.graphon (and gamedev)
Даже страшно представить, как вот это на goto было бы
источник

k

koren in pro.graphon (and gamedev)
Elias Daler
Даже страшно представить, как вот это на goto было бы
Да мило
источник

d

disba1ancer in pro.graphon (and gamedev)
Elias Daler
Даже страшно представить, как вот это на goto было бы
А в каком порядке эти defer выполняются?
источник

ED

Elias Daler in pro.graphon (and gamedev)
Кстати в C++ такое бы тоже хотел иметь. А то делать временные структуры в которых код деструктора вызывает нужный код, это не так круто
источник

ED

Elias Daler in pro.graphon (and gamedev)
disba1ancer
А в каком порядке эти defer выполняются?
Вроде в порядке стэка
источник

d

disba1ancer in pro.graphon (and gamedev)
Elias Daler
Кстати в C++ такое бы тоже хотел иметь. А то делать временные структуры в которых код деструктора вызывает нужный код, это не так круто
Напиши exit_guard принимающий лямбду в конструкторе
источник

ED

Elias Daler in pro.graphon (and gamedev)
disba1ancer
Напиши exit_guard принимающий лямбду в конструкторе
Ну вот то, что это в стандарте нет, грустно. Ну и требует аллокаций для std::function скорее всего
источник

d

disba1ancer in pro.graphon (and gamedev)
Elias Daler
Ну вот то, что это в стандарте нет, грустно. Ну и требует аллокаций для std::function скорее всего
Тебе не нужен function
источник

ED

Elias Daler in pro.graphon (and gamedev)
А так могло бы быть:
defer []() {
  // do something
};
источник

ED

Elias Daler in pro.graphon (and gamedev)
А, типа exit_guard<F f>?
источник

d

disba1ancer in pro.graphon (and gamedev)
Elias Daler
Ну вот то, что это в стандарте нет, грустно. Ну и требует аллокаций для std::function скорее всего
источник

ED

Elias Daler in pro.graphon (and gamedev)
Ну, в общем то, что деструкторы юзают как "defer" - это скорее хак, чем нормальный инструмент
Особенно если там не noexcept код может быть
источник

d

disba1ancer in pro.graphon (and gamedev)
Elias Daler
Ну, в общем то, что деструкторы юзают как "defer" - это скорее хак, чем нормальный инструмент
Особенно если там не noexcept код может быть
А как ты совместишь defer с исключениями?
источник

k

koren in pro.graphon (and gamedev)
Как-то это оффтоп
источник