Dynamische Daten, Pointer



  • Ein bischen Code:

    WIN32_FIND_DATA wfd;
    // ...
    // ...
    // wfd wird gefüllt
    // ...
    // ...
    
    WIN32_FIND_DATA *pTemp = new WIN32_FIND_DATA; //WIN32_FIND_DATA für FileInfos
    if((pTemp != NULL) && (wfdListe.addBegin() == true)) //Genug platz im RAM??
    {
    	// jetzt alle Daten einzel kopieren
    	strcpy(pTemp->cAlternateFileName,wfd.cAlternateFileName);
    	strcpy(pTemp->cFileName,wfd.cFileName);
    	pTemp->dwFileAttributes = wfd.dwFileAttributes;
    	pTemp->dwReserved0 = wfd.dwReserved0;
    	pTemp->dwReserved1 = wfd.dwReserved1;
    	pTemp->ftCreationTime = wfd.ftCreationTime;
    	pTemp->ftLastAccessTime = wfd.ftLastAccessTime;
    	pTemp->ftLastWriteTime = wfd.ftLastWriteTime;
    	pTemp->nFileSizeHigh = wfd.nFileSizeHigh;
    	pTemp->nFileSizeLow = wfd.nFileSizeLow;
    
    	wfdListe.getAnker()->pData = pTemp; // Mit der Liste verknüpfen
    }
    

    Dieser Code habe ich in einer Schleife. Der Inhalt von wfd ändertsich bei jedem Durchlauf,d.h.

    pTemp = &wfd;
    

    geht nicht, da ich jeweils eine Kopie davon benötige.

    Gibt es eine elegantere Methode für das kopieren?
    Gruss Thomas



  • Man definiert sich häufig in den Klassen eine Clone-Funktion, die nichts anderes tut als eine Kopie des Objekts anzulesen inklusive dessen Inhalts...


Anmelden zum Antworten