Интересно.Ваша цель состоит в том, чтобы выставить отображение из целых чисел в слоты, где эти слоты могут содержать значение?Или ваша цель - сохранить базовый адрес каждого элемента и базовый адрес начала самого внутреннего массива?Предположительно, у вас есть причина, по которой вам нужно либо положение элементов, либо отображение целочисленных ключей на элементы, которые должны быть сохранены после «удаления» элемента.В чем причина?
Упомянутые выше реализации map<>
или vector<>
могут не работать, поскольку операции remove
, erase
, find
и т. Д. Будут удалять, переставлять или проверятьцелые числа, которые вы считаете "удаленными".
К сожалению, я думаю, что это может быть случай, когда вам нужно перевернуть свой собственный, используя обертку вокруг vector<optional<T> >
или vector<T*>
, в зависимости от того, как вы определяете remove
.