Let\'s say I have this program:
class Foo { public: unsigned int bar () { static unsigned int counter = 0; return counter++; } }; int m
From The C++ Programming Language (2nd edition), page 200, by Bjarne Stroustrup:
Don't use static except inside [plain] functions (§7.1.2) and classes (§10.2.4).