struct point { point() {} point(int x, int y) : x_(x), y_(y) {} int x_, y_; }; union u { point p_; int i_; const char* s_; };