Static globals of this form can be dangerous, as their initialization order across translation units is undefined. A better form is something like this:

static Type&   // Note the reference
getGlobal() {
    static Type instance;
    return instance;
}