You're probably right. I just haven't ever seen it discussed one way or the other in the context of C++. This scopes the variable more locally, which is probably good, but stops any kind of initialization at start up.

Also - does it share this variable across class instances? In this case that would be fine since we only want one warning across all of them anyway.

Anyway, more just theoretical than important.