002
08.07.2003, 20:29 Uhr
virtual
Sexiest Bit alive (Operator)
|
Eigentlich kann jede Funktion eine Callbackfunktion werden, oder fast jede. Im Allgmeinen würde ich eine Callbackfunktion als eine Funktion bezeichnen, welche als parameter zu einer anderen Übergeben wird, damit eben diese Andere Funktion sie aufrufen kann. Ein Beispiel wäre die Funktion qsort: qsort dient dazu, ein Array zu sortieren. zB:
C++: |
const char* lauterNamen[] = { "Ich", "Du", "Er", "Sie", "Es", "Wir", "Ihr", Sie" };
|
Sowas kann man mit qsort sortieren, zb so:
C++: |
qsort(lauterNamen, 8, sizeof(char*), vgl);
|
Der erste parameter zeigt auf den Anfang des arrays, der zweite gibt an, wie viele Element darin sind und der dritte die größe jeden Elements. Der vierte ist unsere Callbackfunktion, die qsort verwendet, um das Array zu sortieren. Dh wir müssen eine Callback funktion vgl bereitstellen. Damit ist qsort ziemlich flexibel, weil wir koennen praktisch alles sortieren, wenn wir nur das richtige vgl haben. In unserem Fall sieht das so aus:
C++: |
int vgl(const void* a, const void* b) { return strcmp((const char*)a, (const char*)b); }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |