gibt es eine Datenstruktur auf die ich wie auf ein array zugreifen kann also per index und gleichzeitig auch elemente löschen kann ohne invariant zu werden?
Eine liste tut nur das letzte aber da kann ich nicht über offsets zugreifen. Dequeu da ist doch das löschen wieder schlecht oder?
Das steht schon im Topic, std::vector wäre wohl das Richtige -- perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
Zunächst solltest du dir überlegen, ob dein use case tatsächlich eine Adressierung per Index erfordert - meiner Erfahrung nach ist das nur selten wirklich der Fall, meistens reichen Iteratoren völlig aus. Ansonsten halt vector, oder, wenn die ganze Zeit hin- und hergelöscht werden soll, ist evtl. std::map einen Blick wert.
Ohne eine genauere Beschreibung des Problems kann ich dir aber aufgrund akuten Datenmangels keinen wirklich guten Rat geben. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra