I'm trying to make a duplicate of an object of a custom class Event
. I have a shared pointer to the object that I've obtained from its allocation:
std::shared_ptr<Event> e = std::make_shared<Event>();
In order to get a true duplicate of e
(not just a copy of the pointer) I've tried:
std::shared_ptr<Event> o = std::make_shared<Event>(*e);
But I'm not sure if this is the correct way as it seems that if I delete e
it also deletes o
...
Btw, I haven't defined a copy constructor Event::Event(const Event &orig)
but in my understanding this is not necessary as the compiler provides a default copy constructor. The event class only contains variables and no further pointers.