Любой объект в конструкторе инициализирует что надо, в деструкторе — разрушает. Если я понял автора первого поста, то ему надо, чтобы:
Был выдержан порядок при инициализации.
Между инициализацией и разрушением выполнилось какой-то действие.
Разрушилось только то, что было создано.
В буквальной же постановке задача смысла не имеет — goto действительно понятнее, чем все эти if'ы.
Возможно, что объект вызывает свой деструктор, если в конструкторе выкинуть исключение. Надо Стандарт смотреть. Если так, то следует убрать вызов Destroy перед throw.
Здравствуйте, Vova123, Вы писали:
V>Не могу вспомнить, а разбираться не хочу.
V>Возможно, что объект вызывает свой деструктор, если в конструкторе выкинуть исключение. Надо Стандарт смотреть. Если так, то следует убрать вызов Destroy перед throw.
Не вызывает. А если в конструкторе есть try/catch, то это плохой конструктор.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском