Tricks für Pointerbenutzung

Razorhawk

Webdesigner und MSP
Mal so die Frage gestellt,

Was kann man mit Pointern an tiefsinnigeren Sachen machen (Bäume, Listen usw nehmen wir mal als gekannt hin)?
Also Tricks mit denen ich Speicher sparen kann oder auf welche Arten C-Erfahrene Pointer noch alles einsetzen, da ich ja weiß, dass sie bei manchen ziemlich oft benutzt werden.
 
Da können mir doch sicher einige Leute was zu sagen oder?
Denn im Moment wüsste ich nicht wozu ich Pointer im Alltag noch verwenden sollte außer für Listen und Bäume etc. !
 
Funktionspointer (gerne unterschätzt), Interfaces, sinnvolle Ausnutzung von Polymorphie, Speicherbereichbearbeitung (z.Bsp. Grafik)
 
Hm..
was mir auf Anhieb einfällt ist:

1. wie bereits gesagt, mehrere Parameter aus einer Funktion zurückgeben
2. Jump-Tables: Stichwort Zeiger auf Funktionen
3. Abarbeitungslisten
4. Parser
5. effizienteste Abbildung von Datenstrukturen wie verkettete Listen, Suchbäume, Hashes, Heaps etc.
6. Schnelles Ansprechen von Speicherzellen (teilweise sogar im gesamten Adressraum)
7. entsprechend Punkt 4 auch die Bearbeitung von (mehrdimensionalen) Arrays


lg
Joe.
 
Bei dem Loblied auf die Pointer möchte ich eines noch erwähnen:

Pointer sind sehr mächtig!

Die Verwendung von Pointern verlangt aber auch mächtig Disziplin in der Programmierung, im Testen und im Dokumentieren.

Ansonsten kann man später mächtig ins Schwitzen kommen, wenn man einen Fehler korrigieren muß. Und es kann mächtig anstrengend werden, diesen zu lokalisieren.

;)
vop
 
Wichtig wäre ausserdem zu erwähnen, dass das dynamische Anlegen von Instanzen mit new bzw. malloc (in C) im Heap passiert, statt im Stack.
 
Zurück