Delete



  • Hallo!

    Ich habe ein Array aus Zeicgern. sowohl das Array als auch die Zeiger werden mit new initialisiert. Wie muss ich das dann wieder mit delete löschen? zZ hab ichs so:

    // so ist es defniert:
    CFisch**		m_Zuneigungen, **m_Abneigungen;
    // so erstelle ich es:
    m_Abneigungen = new CFisch*[m_Teich->GetNumFische()];
    m_Zuneigungen = new CFisch*[m_Teich->GetNumFische()];
    
    // So lösche ich:
    for(int i = 0; i < m_AnzZuneigungen; i++)
    		delete  m_Zuneigungen[i];
    	for(i = 0; i < m_AnzAbneigungen; i++)
    		delete  m_Abneigungen[i];
    
    	delete [] m_Zuneigungen;
    	delete [] m_Abneigungen;
    


  • Ansi C kennt kein new und delete, oder irre ich mich da?

    C/C++ Forum :: FAQ - C++ :: dynamische mehrdimensionale Arrays:

    const int FirstDim = 4; 
        const int SecDim = 5; 
        // 1. Schritt: Dynamische Array von Zeigern anlegen: 
        int** p2DimArr = new int*[FirstDim]; 
    
        // 2. Schritt: An jeden Zeiger ein Array hängen 
        for (int i = 0; i < FirstDim ; i++) 
            p2DimArr[i] = new int[SecDim]; 
    
        // mit dem neuen 2-dimensionalen Array arbeiten 
        p2DimArr[0][0] = 42; 
        //... 
    
        // alles wieder löschen 
        for (int j = 0; j < FirstDim ; j++) 
            delete [] p2DimArr[j] ; 
        delete [] p2DimArr;
    


  • Das sollte ins C++ - Forum, da new und delete Erweiterung von C in C++ ist.

    Aber ich würde es sonst wie fubar lösen.



  • sollte es eigentlich auch :), hab mich aber verklickt. Jetzt funzt es aber wenigstens

    Gruß, Maxi


Anmelden zum Antworten