Conversation
tarasovxx
left a comment
There was a problem hiding this comment.
В целом работы выполнена отлично!
| stringCallback = callback; | ||
| } | ||
| void TokenParser::parse(const std::string& str) { | ||
| size_t token_start = 0; |
There was a problem hiding this comment.
Коллбэки startCallback и endCallback должны вызываться в начале и в конце метода parse соответственно, а не в середине.
There was a problem hiding this comment.
Блин! Я это заметил уже после сдачи как-то, да забыл исправить, ошибка глупейшая, видимо, в великолепном виме не те кнопочки натыкал 🙂
| }; | ||
|
|
||
| for (size_t i = 1; i != str.size() + 1; ++i) { | ||
| if (is_sep(str[i - 1]) && !is_sep(str[i])) { |
There was a problem hiding this comment.
Инициализация переменных token_start, token_end и token_digits может быть перемещена внутрь цикла, чтобы избежать их повторного использования в каждой итерации.
There was a problem hiding this comment.
Кстати, а какой подход лучше: переменная создаётся внутри цикла или созданная снаружи, которая меняет значение?
| stringCallback = callback; | ||
| } | ||
| void TokenParser::parse(const std::string& str) { | ||
| size_t token_start = 0; |
There was a problem hiding this comment.
Метод parse должен корректно обрабатывать пустую строку
The most interesting is pretty output in main by make run