Я прошу прощения, если этот вопрос был задан/ответил в другом месте, но я не нашел ничего, так как я не совсем уверен, что/как спросить это ...Контейнера с нелинейным содержанием
Что я m пытается сделать, это создать какой-то контейнер; список, массив, вектор, что-нибудь, что позволит мне размещать и удалять объекты из определенных индексов.
Что-то вроде этого:
[empty][empty][object][empty][object][object][empty]
Я собираюсь быть движущиеся объекты из вектора в определенный индекс этого контейнера и из этого контейнера в другой вектор.
Что было бы лучшим способом представить это и какой контейнер лучше всего подходит? Я изначально использовал вектор, но встроенные функции, похоже, не дали мне достаточного контроля над тем, где объект оказался. Это было либо спереди, либо сзади.
Мне нужно выяснить, как лучше удерживать эти «пустые» индексы и свободно перемещать объекты в каждом элементе.
Как насчет std :: map? –
Вы можете размещать элементы везде, где хотите, с помощью оператора '[]': v [i] = item; ' –
@MarkkuK. Сначала необходимо инициализировать достаточно слотов (например, с помощью 'resize()'). Поскольку вектор не может иметь отверстий, если вам нужны пустые слоты, вам нужно значение, которое интерпретируется как значение пустое (например, нулевой указатель, целые числа 0 или -1, определяемый пользователем объект с некоторым особым состоянием). – delnan