#include <iostream>
template<typename T>
struct point_t
{
T x, y, z;
};
struct point_int
{
int x, y, z;
};
int main()
{
std::cout << std::boolalpha << (sizeof(point_int) == sizeof(point_t<int>)) << std::endl;
point_t<int> pt {10, 20, 30};
point_int pi = *reinterpret_cast<point_int*>(&pt);
std::cout << "{" << pi.x <<"," << pi.y <<"," << pi.z << "}" << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kc3RydWN0IHBvaW50X3QKewogICAgVCB4LCB5LCB6Owp9OwoKc3RydWN0IHBvaW50X2ludAp7CiAgICBpbnQgeCwgeSwgejsKfTsKCmludCBtYWluKCkKewogICAgc3RkOjpjb3V0IDw8IHN0ZDo6Ym9vbGFscGhhIDw8IChzaXplb2YocG9pbnRfaW50KSA9PSBzaXplb2YocG9pbnRfdDxpbnQ+KSkgPDwgc3RkOjplbmRsOwogICAgCiAgICBwb2ludF90PGludD4gIHB0IHsxMCwgMjAsIDMwfTsKICAgIAogICAgcG9pbnRfaW50ICBwaSA9ICpyZWludGVycHJldF9jYXN0PHBvaW50X2ludCo+KCZwdCk7CiAgICAKICAgIHN0ZDo6Y291dCA8PCAieyIgPDwgcGkueCA8PCIsIiA8PCBwaS55IDw8IiwiIDw8IHBpLnogPDwgIn0iIDw8IHN0ZDo6ZW5kbDsKfQ==