求问下边这段程序是怎么个逻辑,要表达什么意思?

求问下边这段程序是怎么个逻辑,要表达什么意思?

 using namespace std;

class global {
public:
    static global* a();
protected:
    static global* _a;
};

global*global::_a = 0;

int main() {
    global::a();
    return 0;
}

global *global::a(){
    if (!_a)
        _a = new global();
    return _a;
}

像实现单键模式(singleton pattern),把全局变量放在单键类里。但是有一点不对,就是需要封闭global的构造函数,防止外部new