Statics are a feature introduced in C and then expanded in C++. C introduced static local variables, which are allocated on the global heap but can only be accessed by one function. C++ then introduced static member data, which is also allocated on the global heap and even has to be declared separately of the class declaration, as well as static methods, which are not passed the "this" pointer but otherwise are the same as normal methods.