6.6.6 Сохраняемая информация

На верх  Назад  Вперёд

Stored specifier (спецификатор сохраненная) должен быть либо логическое константа, либо логическое поле класса, либо функция без параметров, возвращающая логический результат. Этот спецификатор не оказывает никакого результата на поведение класса. Это вспомогательное средство для потоковой системы: stored specifier указан в RTTI для сгенерированного класса (он может быть потоковым только если генерируется RTTI ), и используется для определения того, следует ли свойству быть потоковым или нет: это экономит место в потоках (файлах). Что не даёт возможности использовать директиву Stored для массива свойств.

Default specifier (спецификатор по умолчанию) может быть задан для порядковых типов и множеств. Он служит той же цели, что и stored specifier (спецификатор сохранения): свойства, имеющие значение значения по умолчанию (default), не будут записаны в поток с помощью потоковой системы. Значение по умолчанию сохраняется в RTTI для генерируемого класса. Обратите внимание, что

1.Значение по умолчанию автоматически не применяется к свойству, и программист отвечает за то, чтобы сделать это в конструкторе класса (чтобы свойство имело значение по умолчанию в экземпляре класса).

2.Значение 2147483648 не может использоваться в качестве значения по умолчанию, так как оно используется как nodefault.

3.Нельзя указать значения по умолчанию для массива свойств.

Nodefault specifier (nodefault) используется для указания того, что свойство не имеет значения по умолчанию. Значение этого свойства всегда записывается в поток при потоковых операциях.