Несоответствие в явном обращении к «конструктору» и деструктору - PullRequest
1 голос
/ 20 апреля 2020

Создание объекта включает: a) получение памяти (в стеке или куче, operator new обрабатывает последний); б) его инициализация (вызов конструктора). Вероятно, уничтожение.

Если мы хотим пропустить a) в создании, то есть для создания объекта в памяти, которую мы уже получили, мы используем размещение new.

Если мы хотим уничтожить объект без освобождения памяти, мы вызываем деструктор явно.

НО, конструктор и деструктор - это пара функций, а new и delete - это пара операторов.

Итак, почему не используется пара размещения new и "размещение delete" (вы можете себе представить) или пара явных вызовов конструктора и деструктора? И какова цель этого несоответствия?

...