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

Это изобретательный способ эмулировать GOTO, поскольку эти два практически идентичны:

// NOTE: This is discouraged!
do {
    if (someCondition) break;
    // some code be here
} while (false);
// more code be here

и:

// NOTE: This is discouraged, too!
if (someCondition) goto marker;
// some code be here
marker:
// more code be here

С другой стороны, обе эти должно действительно выполняться с помощью if s:

if (!someCondition) {
    // some code be here
}
// more code be here

Хотя вложенность может стать немного уродливой, если вы просто превратите длинную строку forward- GOTO s в вложенные if s. Настоящий ответ - правильный рефакторинг, хотя и не имитирующий архаичные языковые конструкции.

Если вы отчаянно пытались транслировать алгоритм с GOTO s в нем, вы могли бы, вероятно, сделать это с этой идиомой. Это, конечно, нестандартный и хороший показатель того, что вы не придерживаетесь близко ожидаемых идиом языка.

Я не знаю ни одного языка C, где do / while является идиоматическое решение для чего угодно.

Вероятно, вы могли бы реорганизовать весь беспорядок во что-то более разумное, чтобы сделать его более идиоматичным и более читаемым.

0
задан Don Draper 19 March 2019 в 08:23
поделиться