Zeiger



  • Hallo,

    angenommen der Zeiger loch zeigt auf eine Feld mit Zeigern auf dem Heap. Nun hab ich ein neues Objekt erzeugt und will das mein erster noch nicht belegter Zeiger auf dieses neu angelegte Objekt zeigt. Ist das so richtig wie ich es gemacht habe? Falls ja dann geht es doch trotzdem bestimmt irgendwie eleganter oder?

    MetallPlatte* neu = new MetallPlatte(lochLaenge, lochBreite);
    int i;
    for(i=0; loch[i] != NULL; i++)
    {        
    }
    loch[i] = neu;
    


  • Wie wäre es mit:

    int i = 0;
    while (loch[i] != NULL && i < MAX_INDEX)
      i++;
    
    if (i < MAX_INDEX)
      loch[i] = new Metallplatte(Breite, Laenge);
    

    Zwingende Voraussetzung ist natürlich, dass Du vorher das Feld mit Nullzeigern initialisierst.
    Für den Fall, dass bereits alle Einträge ungleich NULL sind, wird deine Schleife übrigens sehr lange suchen 😉

    Gruß

    turing


Anmelden zum Antworten