[ ] Такой алгоритм будет работать неэффективно в случае, когда строка содержит много html-cущностей - при replace фрагмента строки всякий раз будет сдвигаться огромная часть строки после заменяемого фрагмента.
[ ] Аргументы функции и ее имя не имеют никакого отношения к декодированию html-сущностей. Функция просто заменяет все вхождения одной строки в другой на строку заменитель.
[ ] Алгоритм многократно выполняет декодирование уже декодированного текста. Это не очень хорошее решение. В частности, он чувствителен к порядку декодирования сущностей (например, амперсанд должен декодироваться в последнюю очередь). Реализуйте решение, которое не подвергает повторному декодированию уже декодированный текст.
[ ] Используйте в тестах более осмысленные входные данные. Выделите классы эквивалентности для входных данных. Как минимум, html-сущности могут встречаться в начале, середине и конце текста. Символы ранее декодированных сущностей не должны декодироваться повторно (пример: &lt; должно декодироваться в <, а не в <)
https://github.com/IrinaZagaynova/oop/blob/c35ebb43250d68f51de0c51c8660012346eb9ad1/lab2/HTMLDecode/HTMLDecode/DecodeString.cpp#L11-L18