Results 19 comments of kov-serg

Предлагаю тем кто поставил унылых смайликов оценить разницу https://godbolt.org/z/b9hME36jf https://godbolt.org/z/eG9b8sYad и предложить варианты получше

Поясню. Есть подход с коротинами. А можно разделить задачу на короткие блоки вручную. Из плюсов вы можете без особых сложностей сериализовать подобное состояние и потом загрузить его и продолжить выполнени....

Как с их помошью выполнить сохранение в текущего состояния и последующего его востановления, и продолжения исполнения с места сохранения (например на другом компьютере)?

Да я предлагаю, небольшое расширение в switch которое позволит нарезать последовательный код на части. Более того подобное нововведение не является чем-то крайне сложным в реализации. "реализован через существующие возможности" -...

По поводу no default не вижу никаках противоречий: ``` switch (static_cast(42)) { case E::A: { } break; no default: /* попадаем в эту ветку */ } ``` Подобная конструкция нужна...

"Да как угодно, хоть так:" А востанавливать как?

>[kelbon] массив указателей на функции. И как именно это должно выглядеть? В каком месте это лучше? https://godbolt.org/z/enx61P9ez Тут подумал что вместо слова next_case можно использовать break: ``` switch(it) { default:...

В варианте 2 надо постоянно дублировать имя класса. В случае ссылки не на челен класса сломается. В варианте 3 оверхед. Причем некоторые компиляторы могут нагенерить много мусора. Не единообразна последняя...

Вот еще пример использования https://godbolt.org/z/b9vaMGxxE ```cpp #include struct Loop { int timer, state, exit_code; Loop() { setup(); } Loop* setup() { timer=0; state=0; exit_code=-1; return this; } bool timeout(int limit)...

Еще пример. С функция возможностью возобновления исполнения. Т.е. возможна сереализацией состояния и продолжением исполения после десереализации. Коротинах есть всё кроме простоты и возможности возобновить исполение с сохраненной точки. В случае...