#define CLASS(NAME) \
class NAME { \
public: \
class Inner { \
int j = #NAME[0]; \
}; \
Inner *i = nullptr; \
}; \
\
static NAME::Inner inner; \
static NAME obj; \
NAME::Inner &getInner##NAME() { return inner; }