Home

Werttypen

Werttypen (value types) sind Datentypen, deren Werte direkt gespeichert werden. Zuweisung oder Funktionsübergabe erfolgt in der Regel durch Kopie, wodurch ein unabhängiges Exemplar entsteht. Referenztypen speichern dagegen Verweise auf Objekte; das Kopieren eines Referenztyps kopiert den Verweis, nicht den Objektinhalt.

Typische Werttypen sind primitive Zahlen- und Boolesche Typen, Zeichen sowie benutzerdefinierte Strukturen (structs). Der Speicherort variiert

Semantik: Standardmäßig gelten Kopie- und Übergabekonstruktionen, das heißt, Änderungen am kopierten Exemplar betreffen nicht das Original.

Performance und Design: Werttypen bieten schnelle Allocation und geringe GC-Last, vor allem bei kleinen, häufig kopierten

Sprachbeispiele: In C# sind Structs Werttypen, Klassen Referenztypen; Go behandelt viele Basistypen als Werttypen, wobei Slices

nach
Sprache:
Werttypen
werden
oft
auf
dem
Stack
oder
inline
in
Containern
gespeichert;
in
Arrays
liegen
die
Werte
direkt
im
Container.
In
einigen
Sprachen
können
Werttypen
jedoch
auch
im
Heap
landen,
etwa
durch
Boxing
oder
als
Bestandteil
referenzierter
Objekte.
Um
das
Original
zu
verändern,
muss
der
Wert
per
Referenz
oder
spezieller
Parameterübergabe
(z.
B.
ref)
übergeben
werden.
Werte
können
unveränderlich
gestaltet
sein,
um
Nebenwirkungen
zu
vermeiden.
Werten.
Sie
können
jedoch
teuer
werden,
wenn
sie
groß
sind.
Ein
gängiger
Rat:
Modelle
mit
kleinen,
unveränderlichen
Strukturen
als
Werttypen
verwenden,
größere
oder
mutable
Strukturen
als
Referenztypen.
Boxing
kann
zu
Laufzeitkosten
führen,
wenn
Werttypen
in
Objekte
verwandelt
werden.
und
Pointer
Referenzverhalten
vermitteln.
Das
Konzept
unterstützt
Performance-Optimierung,
Speicherlayout-Entscheidungen
und
API-Design.