002
16.12.2003, 01:17 Uhr
0xdeadbeef
Gott (Operator)
|
Du benutzt Qt, also wohl C++. Dementsprechend gehe ich davon aus, dass der Speicher mit new angefordert wird, also mit delete wieder freigegeben werden muss (Im Gegensatz zu C, wo das mit malloc/calloc und free passiert). Der Code von getFiles wäre trotzdem interessant.
Wenn ein Array initialisiert wird, wäre also delete[] das Ding der Wahl. Dementsprechend:
C++: |
int *files=NULL; while (1) { QString path= "d\thumb\\" ; files = getFiles(path); delete[] files; files = NULL; } return 0;
|
Generell gilt in C++: Der Speicher wird mit new angefordert und mit delete freigegeben. Wenn es sich um ein Array handelt, wird delete[] benutzt, ansonsten nur delete. In C ist das nicht erforderlich, weil es keine Kon- und Destruktoren gibt. Aber, wie gesagt, bei unsauberem Code muss das nicht zwingend richtig sein. Zeig mal den Code von getFiles her. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |