bestimmtes Feld in einem array löschen



  • Hallo,

    wie lösche ich ein bestimmtes Feld in einem Array?
    Wenn ich z.B. folgendes hätte:

    myClass myArray[5]=new myClass():
    myArray[0]=wert1;
    myArray[1]=wert2;
    myArray[2]=wert3;
    myArray[3]=wert4;
    myArray[4]=wert5;
    

    jetzt möchte ich z.B. das feld 3 löschen...

    Ich stehe grad einwenig auf dem Schlauch 😞

    Danke & Gruß



  • willst du es ganz löschen, dass es nurnoch 4 Arrays gibt oder
    willst du einfach

    myArray[3] = 0;

    sagen?



  • das weiß ich noch nicht genau 🙄
    wenn du mir beide varianten aufzeigen könntest wär ich dir dankbar...



  • Hallo

    Wenn du ein dynamisches C-Array benutzt must du ein neues Array mit einem Element weniger als das alte allokieren und dann alle Elemente vom alten ins neue kopiernen, bis auf das zu löschende Element. Dann kannst du das alte Array freigeben und das neue weiterverwenden.

    Oder du benutzt einfach korrekte C++ Mittel wie std::vector oder std::list, die die ganze Speicherverwaltung übernehmen. Siehe die Magazin-Artikel zu den STL-Containern hier im Forum.

    bis bald
    akari


Anmelden zum Antworten