1 #define CLASS(NAME) \ 2 class NAME { \ 3 public: \ 4 class Inner { \ 5 int j = #NAME[0]; \ 6 }; \ 7 Inner *i = nullptr; \ 8 }; \ 9 \ 10 static NAME::Inner inner; \ 11 static NAME obj; \ 12 NAME::Inner &getInner##NAME() { return inner; } 13