No need to manually delete the pointers which are managed by std::vector