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

Сообщение Re: Финт ушами для выхода из внешнего цикла от 28.03.2017 8:41

Изменено 28.03.2017 8:42 Erop

Re: Финт ушами для выхода из внешнего цикла
Здравствуйте, Caracrist, Вы писали:


C>
C>#define LABELED(scopeName)  if (false) scopeName:; else
C>#define BREAK_FROM(scopeName) goto scopeName
C>


IMHO
for (auto it = container.begin(); it != container.end(); it++)
{
        switch (*it)
        {
        case 1:
            BREAK_FROM(outerLoop);
        }
} 
afterMainIteration:;

Намного понятнее и прямее
Re: Финт ушами для выхода из внешнего цикла
Здравствуйте, Caracrist, Вы писали:


C>
C>#define LABELED(scopeName)  if (false) scopeName:; else
C>#define BREAK_FROM(scopeName) goto scopeName
C>


IMHO
for (auto it = container.begin(); it != container.end(); it++)
{
        switch (*it)
        {
        case 1:
            goto afterMainIteration;
        }
} 
afterMainIteration:;

Намного понятнее и прямее

Всё равно корректность этого твоего BREAK_FROM никак не проверяется...