type
ValueType = (vt_Bool, vt_Double, vt_String);
// Хранит ty + объединение (boolv | doublev | stringv).
ValueRec = record
case ty: ValueType of
vt_Bool: (boolv: boolean);
vt_Double: (doublev: double);
vt_String: (stringv: pchar);
end;
begin
writeln('sizeof(pointer) = ', sizeof(pointer));
writeln('sizeof(ValueRec) = ', sizeof(ValueRec));
end.
dHlwZQoJVmFsdWVUeXBlID0gKHZ0X0Jvb2wsIHZ0X0RvdWJsZSwgdnRfU3RyaW5nKTsKCgkvLyDQpdGA0LDQvdC40YIgdHkgKyDQvtCx0YrQtdC00LjQvdC10L3QuNC1IChib29sdiB8IGRvdWJsZXYgfCBzdHJpbmd2KS4KCVZhbHVlUmVjID0gcmVjb3JkCgljYXNlIHR5OiBWYWx1ZVR5cGUgb2YKCQl2dF9Cb29sOiAoYm9vbHY6IGJvb2xlYW4pOwoJCXZ0X0RvdWJsZTogKGRvdWJsZXY6IGRvdWJsZSk7CgkJdnRfU3RyaW5nOiAoc3RyaW5ndjogcGNoYXIpOwoJZW5kOwoKYmVnaW4KCXdyaXRlbG4oJ3NpemVvZihwb2ludGVyKSA9ICcsIHNpemVvZihwb2ludGVyKSk7Cgl3cml0ZWxuKCdzaXplb2YoVmFsdWVSZWMpID0gJywgc2l6ZW9mKFZhbHVlUmVjKSk7CmVuZC4=