Здравствуйте, kov_serg, Вы писали:
R>>Что за выдумки? Я этот вариант даже рассматривать не стану. Стандартная библиотека — часть языка. Без неё С++ — не С++.
_>Какого именно C++n+1
Любого.
R>>Не вижу я никаких преимуществ. Вижу корявый, громозкий код. И не надо мне рассказывать про особенности языка С — я сам кое-какое представление имею.
_>Так тут весь код, всегда монжно сделать более компактно.
Ну так чего ты не сделал до сих пор? Сделай так же компактно, как в варианте с корутинами.
R>>>>Ну и в-третьих уже обсудили — это макросы. Для тебя это норма, а для меня неприемлемый зашквар.
_>>>Я не заставляю использовать макросы. Можно и без них.
R>>Ну я основываюсь на твоём примере, который ты предоставил для сравнения. Напиши без них, посмотрим.
_>Вот без макросов
_>_>int fn1_loop(fn1_t *my) { int st=my->loop; switch(st) {case 0:
my->>value="Idle"; {st=1;goto leave;case 1:{}}
my->>value="Started"; {st=2;goto leave;case 2:{}}
my->>value="Processing"; {st=3;goto leave;case 3:{}}
_> while (*my->param < 10 + my->machineID) {
my->>value="Waiting"; {st=4;goto leave;case 4:{}}
_> }
my->>value="Stopped";
_> {st=-1;case -1:{}}} leave: my->loop=st; return st==-1 ? 0 : 1;
_>}
_>
Не-не. Полный текст программы с сылкой на годболт, пожалуйста.
_>Но думаю твой внутренний перфекционист будет недоволен
Правильно думаешь