Информация об изменениях

Сообщение Re[22]: Вопрос по корутинам от 28.08.2025 12:26

Изменено 28.08.2025 12:29 kov_serg

Re[22]: Вопрос по корутинам
Здравствуйте, rg45, Вы писали:

R>Что за выдумки? Я этот вариант даже рассматривать не стану. Стандартная библиотека — часть языка. Без неё С++ — не С++.

Какого именно C++n+1

R>Не вижу я никаких преимуществ. Вижу корявый, громозкий код. И не надо мне рассказывать про особенности языка С — я сам кое-какое представление имею.

Так тут весь код, всегда монжно сделать более компактно.

R>>>Ну и в-третьих уже обсудили — это макросы. Для тебя это норма, а для меня неприемлемый зашквар.

_>>Я не заставляю использовать макросы. Можно и без них.

R>Ну я основываюсь на твоём примере, который ты предоставил для сравнения. Напиши без них, посмотрим.

Вот без макросов
int fn1_loop(fn1_t *my) {                                                       int st=my->loop; switch(my->loop) {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;
}

Но думаю твой внутренний перфекционист будет недоволен
Re[22]: Вопрос по корутинам
Здравствуйте, rg45, Вы писали:

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;
}

Но думаю твой внутренний перфекционист будет недоволен