Weitere Beispiele werden automatisch zu den Stichwörtern zugeordnet - wir garantieren ihre Korrektheit nicht.
See the tagged union section of the on-line manual for more information.
In type theory, a tagged union is called a sum type.
They have the advantage over simple tagged unions of not requiring space to store a data type tag.
A tagged union can be seen as the simplest kind of self-describing data format.
The main disadvantage of tagged unions is that the tag occupies space.
C and C++ also have language support for one particular tagged union: the possibly-null pointer.
Other operations may require that knowledge, either by some external information, or by the use of a tagged union.
An enumerated type can be seen as a degenerate case: a tagged union of unit types.
Also, there is an expectation that every possible case of a tagged union will be dealt with when it is used.
Another is to use a tagged union.
Such a door would typically take a tagged union as input data with each tag value denoting a different method.
A constructor can also refer to a function which is used to create a value of a tagged union, particularly in functional languages.
See tagged union for an example.
Like option types and exception handling, tagged unions are sometimes used to handle the occurrence of exceptional results.
The second case is a tagged union: a result is either some string with a descriptive error message, or a successfully read character.
In type theory, enumerated types are often regarded as tagged unions of unit types.
Hence, it is usually not possible to do case analysis or dispatch on a subobject's 'tag' as one would for tagged unions.
Some implementations reserve enough storage for the largest type, while others dynamically adjust the size of a tagged union value as needed.
Tagged unions are not intended for this purpose; typically a new value is assigned whenever the tag is changed.
This use of tagged unions can be formalized as a monad with the following functions:
Tagged union in computer science.
One advanced dialect of C called Cyclone has extensive built-in support for tagged unions.
Tagged unions are often accompanied by the concept of a constructor, which is similar but not the same as a constructor for a class.
Constructors produce a tagged union value, given the initial tag value and a value of the corresponding type.
Mathematically, tagged unions correspond to disjoint or discriminated unions, usually written using +.