Вызов конструктора для повторной инициализации объекта - PullRequest
56 голосов
/ 30 января 2010

возможно ли повторно инициализировать объект класса с помощью его конструктора?

Ответы [ 11 ]

0 голосов
/ 28 июня 2019

В то время как большинство ответов повторно инициализируют объект в два этапа; во-первых, создание исходного объекта, а затем создание другого объекта и замена его на первый с использованием placement new. Этот ответ охватывает случай, когда вы сначала создаете указатель на пустой объект, а затем выделяете и конструируете его:

class c *c_instance; // Pointer to class c
c_instance = new c(arg1, ..., argn) // Allocate memory & call the proper constructor 
// Use the instance e.g. c->data
delete c_instance; // Deallocate memory & call the destructor 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...