I see the use of a Singleton pointer with online examples, so when I created my own Singleton without a pointer I became very confused as to why every example uses a pointer. Why is a pointer better than a reference? Here's my code:
class SimpleSingleton{
private:
    static int integerDataMember;
    static SimpleSingleton singletonInstance;
    
    SimpleSingleton(){}
public:
    static SimpleSingleton GetInstance(){
        return singletonInstance;
    }
    void IncrementDataMember() const { integerDataMember++; }
    int GetDataMember() const { return integerDataMember; }
    
};
SimpleSingleton SimpleSingleton::singletonInstance;
int SimpleSingleton::integerDataMember = 0;
int main()
{
    SimpleSingleton::GetInstance().IncrementDataMember();
    cout << SimpleSingleton::GetInstance().GetDataMember() << endl;
    {
        SimpleSingleton::GetInstance().IncrementDataMember();
        cout << SimpleSingleton::GetInstance().GetDataMember() << endl;
    }
    
    return 0;
}
