Я иду из мира Java и на данный момент строят небольшую программу на C++. У меня есть объект, который выполняет некоторую работу, а затем возвращает результат работы в виде списка.Интерфейс/Суперкласс для коллекций/контейнеров в C++
Теперь через день я изменил поведение объекта, чтобы сохранить результаты в наборе, чтобы избежать дублирования в контейнере. Но я не могу просто вернуть набор, потому что я впервые использовал список для интерфейса. Есть ли общий интерфейс контейнера, который я могу использовать для указания интерфейса моего объекта и забыть о типе контейнера, который я использую внутри?
На данный момент я создаю набор, добавив все значения, а затем создать список из набора:
return std::list<foo>(this->mySet.begin(), this->mySet.end())
Кажется немного странным.
Если вы возвращаете const_iterators. Затем создайте методы begin() и end() const. –
Yep - Отредактировано, что – Dario