Я строю объектную систему для своего приложения. Теперь у меня есть такой код:
std::map<std::string, Object*> mObjects;
Идея состоит в том, чтобы обновить каждый объект класса Object
(вызов update
), но в некотором порядке.
В каждом объекте есть член int z_index;
. Как я могу отсортировать карту по этому индексу (кстати, индексы могут быть одинаковыми)?
Моей первой идеей было добавление идентификатора в имя ключа, например:
Object *temp = /* ... */
temp->z_index = 5;
temp->name = "test";
mObjects[temp->z_index + temp->name] = temp;
Но с этим кодом я потерял доступ к объектам по имени.