Comment Re:Design Patterns by the Gang Of Four (Score 1) 247
Well, I'd argue that a library that needs a single global init call is itself a poorly implemented singleton with all the associated problems. It is unfortunately a common occurrence and wrapping it in a singleton class is a way to deal with it. But in my opinion that is making the best of a bad situation rather than a pattern that I'd recommend if you have anything to say about the library interface.
I have seen a lot of singleton use in C++ unrelated to libraries and most of those uses became problematic at some point. In C++ in particular, the fact that with a singleton you can't control the moment it destructs can be a problem if the destructor needs to do more than free memory.