Filter: 2013-12-09

Dynamischer Datentyp / Variant

Dynamische Datentypen, oft als Variant bezeichnet, können eine definierte Anzahl von verschiedenen Datentypen aufnehmen. Die dienen in der Regel als Behälter, zur Datentypumwandlung oder zur Serialisierung von Datentypen und Strukturen. Sie sind in einer Vielzahl von Programmiersprachen vertreten, vor allem in Skriptsprachen wie zum Beispiel JavaScript, PHP und LUA. Sie sind immer da zu finden, wo es weniger um Laufzeit als um Einfachheit geht. Einfach in der Verwendung aus dem Grund, dass der Behälter automatische Typumwandlungen und Manipulationsfunktionen für die enthaltenen Daten mitbringen kann.

Beispiel (Quellcode): variant.cpp
Download (Quellcode): variant.zip

Beschreibung

Variant-Datenstruktur während der Benutzung Der Behälter für den dynamischen Datentyp, besteht in den meisten Fällen aus einem Typindikator und den einzelnen Datentypen, die dieser aufnehmen kann. Beim Setzen eines Wertes für einen der enthaltenen Datentypen, wird der Typindikator mitgesetzt. Zum Auslesen wird anhand des Typindikators geprüft, ob eine Typumwandlung erford…

Am längsten nicht verwendetes Objekt / LRU

Diese oder abgewandelte Datenstrukturen finden sich in vielen Speichermanagementteilen von Betriebsystemen, Grafik-/Audiokernen von Spielen und auch im "Zuletzt geöffnet"-Menüpunkt der Mehrzahl der Dateibearbeitungsprogramme wieder. Hierdurch kann unter anderem, die Benutzung knapper Resourcen eingeschränkt werden.

Beispiel (Quellcode): lru.cpp
Download (Quellcode): lru.zip

Beschreibung

LRU / Am längsten nicht verwendetes Objekt während des Befüllens Die Datenstruktur bildet eine Liste, bei denen die Referenzen (oder auch die Objekte) mit begrenzter Anzahl gehalten werden. Wird ein Objekt benutzt, wird die Objektreferenz an den Anfang der Liste verschoben. Ist die Referenz noch nicht in der Liste, wird sie an den Anfang der Liste eingefügt. Ist die Liste zu lang, werden die Objekte am Listenende verworfen.

Abwandlungen:

  • Alternativ kann anstelle der Verschiebung der benutzen Objektreferenz an die erste Position, auch eine schrittweise Umpositionierung stattfinden. So nähert sich die Referenz langsamer den Listenkopf, was je nach Fall bessere Ergebnisse erzielen kann…