#include <iostream>
#include <tuple>
using T = std::tuple<int, double, long>;
int main()
{
void * p = ::operator new(sizeof(T));
T * q = static_cast<T *>(p);
::new (&std::get<1>(*q)) double(12.8);
std::cout << std::get<1>(*q) << std::endl;
::operator delete(p);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHVwbGU+Cgp1c2luZyBUID0gc3RkOjp0dXBsZTxpbnQsIGRvdWJsZSwgbG9uZz47CiAgICAKaW50IG1haW4oKQp7CgogICAgdm9pZCAqIHAgPSA6Om9wZXJhdG9yIG5ldyhzaXplb2YoVCkpOwoKICAgIFQgKiBxID0gc3RhdGljX2Nhc3Q8VCAqPihwKTsKICAgIDo6bmV3ICgmc3RkOjpnZXQ8MT4oKnEpKSBkb3VibGUoMTIuOCk7CgogICAgc3RkOjpjb3V0IDw8IHN0ZDo6Z2V0PDE+KCpxKSA8PCBzdGQ6OmVuZGw7CgogICAgOjpvcGVyYXRvciBkZWxldGUocCk7Cn0K