Вы должны использовать std::map
, где группа - это ключ, а остальные данные - это значение.
Таким образом, когда вы вставляете на карту новый элемент, он добавляется, если его номер группы уже существует, а затем заменяет существующий элемент.
class data
{
public:
bool condition;
int time;
friend bool operator==(const data& lhs, const data& rhs);
data(bool c, int t)
{
condition = c;
time = t;
}
};
и затем используйте std::map<int, Data>
в качестве контейнера.
Вы также можете реализовать класс-оболочку, имеющий std::map<int, Data>
в качестве закрытого члена, реализующий вставку и итерацию (и, возможно, удаление и т. Д.), А затем вы можете использовать вне его ExtendedData
или что-то еще, что реализовано как вы реализовали Data
вначале.