13.2 Fixed-length Versus Variable-length User-defined Types

The memory management rules and member function signatures for a user-defined type depend upon whether the type is fixed-length or variable-length. A user-defined type is variable-length if it is one of the following:

  • A bounded or unbounded string
  • A bounded or unbounded sequence
  • A struct or union that contains a variable-length member
  • An array with a variable-length element type
  • A typedef to a variable-length type

If a type is not on this list, the type is fixed-length.