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
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…



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.