2014-09-07 2 views
0

Если после жизни объекта закончилась и перед хранением которого объект занят повторно используются или отпущенным новый объект создан в месте хранения, которые исходный объект занят, указатель , указывающий на исходный объект, ссылка, которая ссылалась на исходный объект , или имя исходного объекта автоматически ссылаются на новый объект и, как только время жизни нового объекта может использоваться для управления новым объектом, если:Новый и оригинальный тип объекта в памяти многократного использования

- хранилище для нового объекта точно перекрывает место хранения которых исходный объект занимаемый и

- новый объект имеет же типа, что и исходный объект (игнорирование верхнего уровня CV-классификаторов), и

- тип исходного объекта не Const квалификации, а также, если тип класса, не содержит какой-либо нестатический элемент данных, типа которого Const-квалифицирован или ссылочный типа, и

- исходным объектом был наиболее производный объект (1.8) of тип T, а новый объект является самым производным объектом типа T (то есть они не являются базовым классом подобъектов).

Непонятно, что это за тип? Динамический или статический тип? Я думаю, это статический тип, потому что в противном случае последнее ограничение не имеет смысла.

+0

Этот вопрос похож на другой .. немного отличается, возможно, но, конечно, не так много :) –

+4

«Тип объекта» всегда однозначен. Возможно, вы думаете о типе выражения или типе переменной, но здесь это не актуально. –

ответ

5

Оба.

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

+0

Я согласен, это в основном говорит: «Вы можете использовать его для управления объектом, если они имеют один и тот же самый производный объект типа T». Также cfr. §1.8.2 –

Смежные вопросы