Zugriff auf Elemente eines Vektors



  • Grüße !

    Ich habe mir einen Vektor "Studenten" gebastelt in dem lauter Student-Objekte drinhängen

    std::vector<Student> Studenten;
    
    Studenten.push_back(Student("hans"));
    Studenten.push_back(Student("fanz"));
    Studenten.push_back(Student("michael"));
    

    Jetzt würde ich gerne auf diese einzelnen Elemente des Vektors zugreifen bzw. ganz konkret welche löschen oder ausgeben

    Die Methode für den Zugriff lautet

    void * 	vector_value (vector_t *v, unsigned int pos)
    

    Ich bekomme also einen Pointer auf das Element an der Stelle pos - ich sollte also eigentlich alle Elemente so durchlaufen können:

    for (int i=0; i<Studenten.size();i++) 
    {
    	Student tmp = vector_value(Fahrzeuge,i)
    	cout << tmp.name;
    }
    

    Aber das klaaaappt leider nicht 😕 😮

    Und was ich auch nicht finde - wie LÖSCHE ich ein Element aus einem Vektor ??



  • google mal nach iteratoren



  • [quote="Stolzi"]Die Methode für den Zugriff lautet

    void * 	vector_value (vector_t *v, unsigned int pos)
    

    dann solte es so gehen

    for (int i=0; i<Studenten.size();i++) 
    {
    	Student * tmp = (Student *)vector_value(Fahrzeuge,i)
    	cout << tmp->name;
    }
    

    einfacher ist natürlich

    for (int i=0; i<Studenten.size();i++) 
    {
            cout << Studenten[i].name;
    }
    

    Kurt


Anmelden zum Antworten