I want to create a simple Singleton class in C++ which contains pointers to other types.
The singleton will become the owner over that pointer at some point.
So it's this a good way to delete the object of type Test and release it's memory on Singleton destructor?.
 class Test{...};
 class Singleton
 {
    public:
    static Singleton& getInstance()
    {
        static std::unique_ptr<Singleton> instance(new Singleton());
        return *instance.get();
    }
    void SetTest(Test* test);
    Test* GetTest() const;
    ...
    private:
      Singleton(){}
      ~Singleton(){ if(test) delete test;} // ??
      Test* test;
     ...
 };
PS: I can't use smart pointers for the Test object.