C'è un modo migliore (più veloce o con meno simboli di codice) di cancellare l'elemento e riaggiungerlo sul retro?Spostare un elemento vettoriale sul retro del vettore
template <typename T>
void moveItemToBack(std::vector<T>& v, size_t itemIndex)
{
T tmp(v[itemIndex]);
v.erase(v.begin() + itemIndex);
v.push_back(tmp);
}
Non proprio ... Il vettore non è un modo molto efficiente per archiviare le cose che devono essere rimosse dall'inizio. Guardate 'std :: queue' o' std :: dequeue' – IdeaHat
@MadScienceDreams: std :: dequeue non è migliore qui, e ho bisogno di accesso casuale. –
Quindi la struttura efficiente da utilizzare è creare il proprio buffer circolare. – IdeaHat