The C++ Standard now allows initialization of const static data members of an integral type inside their class.
#include class Buff{private: static const int MAX = 512; //definition static const char flag = 'a'; //also a defintion static const std::string msg; //non-integral type; must be defined outside the class bodypublic://..};const std::string Buff::msg = "hello";
The initialization inside the class body also defines the data member, so it shouldn’t be defined outside the class, as opposed const static data members of non-integral types, which have to be defined outside the class body.