Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » std::vector element löschen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.08.2006, 20:51 Uhr
~testo
Gast


Hallo,
ich muss leider mit vectoren arbeiten und dabei würde ich gerne eine element aus dem vector löschen können ohne dabei invalid zu werden. Geht das ohne großen aufwand vielleicht mittels einer stl funktion?

Danke vielmals!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.08.2006, 21:00 Uhr
Pler
Einer von Vielen
(Operator)


msdn: std::vector

msdn: std::list
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.08.2006, 21:04 Uhr
stephanw
localhorst


Warum "leider" ? Und was meinst Du mit "invalid" ? Ein Vector wird doch nicht ungültig, nur weil man ein Element löscht. Ansonsten: siehe Referenz.
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.08.2006, 22:38 Uhr
enriico



aus meiner sicht sollte man vektoren nur mit eingaben füttern.
aus welchem grund willst du elemente löschen...?

unten siehst du ein kleines bsp. wie ich mit vektoren arbeite!

Bsp:
1. daten einlesen mittels istream_iterator
2. alle ungeraden zahlen löschen mit hilfe von remove_copy_if
3. anschliessend ausgabe auf der konsole



C++:
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

int main()
{
    vector<int> n;
    vector<int> end;
    typedef istream_iterator<int> input;
    copy(input(cin),input(),back_inserter(n));

    remove_copy_if(n.begin(),n.end(),back_inserter(end),bind2nd(modulus<int>(),2));

    copy(end.begin(),end.end(),ostream_iterator<int>(cout, " "));
    cout << endl;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.08.2006, 23:18 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von enriico:
aus meiner sicht sollte man vektoren nur mit eingaben füttern.

Warum?

Zitat von enriico:

aus welchem grund willst du elemente löschen...?


Warum denn nicht?

Gruss Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.08.2006, 00:56 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Du kannst auch ganz gut zur Datenhaltung mit Vektoren arbeiten. Du sicherst ein Objekt von einer dir erstellten Klasse und wenn sich zur Laufzeit etwas ändert,wird eines der Objekte gelöscht. (Beispielsweise informationen zu einer Socket Verbindung, die kommt und geht zur Laufzeit)
--
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"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: