Für jedes Listenelement Objekt erstellen



  • Guten Morgen!

    Die Frage ist für viele von euch vermutlich total dumm, aber ich muss sie leider dennoch stellen.
    Also ich habe eine Liste von Objekten, nennen wir sie felder.
    Für jedes Listenelement von felder muss ich nun ein neues Objekt erstellen.

    Das wird ja dann irgendwie so aussehen:

    size = felder.size();
    for(int i=0;i<size;i++){
       tempfeld = felder.front();
       felder.pop_front();
       //hier neues Objekt erstellen (einen Baumknoten) und tempfeld reintun.
    }
    

    ich kann da ja jetzt nicht irgendwie einfach reinschreiben knoten = new knoten...
    Dann hab ich doch size viele Knoten mit dem selben Namen..

    Wie macht man das am geschicktesten?

    Achso, ja, eins noch: Wenn ich in einem Konstruktor erstmal keine Liste vom Typ http://www.cplusplus.com/reference/stl/list/ übergeben will, wie übergebe ich dann die leere Liste?
    Erstmal einfach eine leere Liste erstellen list<Objekt>temp und das dann übergeben?

    Dankesehr!



  • Dein Post klingt sehr verwirrt. Du hast also eine std::list und weisst nicht wie Elemente einfügen, oder wo liegt dein Problem?

    Zum Einfügen neuer Elemente hast du grundsätzlich mehrere Möglichkeiten:

    • push_back() fügt ein Element am Ende der Liste ein.
    • push_front() fügt ein Element am Anfang der Liste ein.
    • insert() fügt ein oder mehrere Elemente an einer beliebigen Position ein.

    Und eine leere Liste erstellst du mit dem Standardkonstruktor.


Anmelden zum Antworten