#include <iostream>
struct PITUH {
PITUH() {
std::cout << "PITUH()" << std::endl;
}
};
class malloc2 {
public:
malloc2(size_t size) {}
template <typename T> operator T*() {
return new T;
}
};
int main() {
PITUH *pituh_pointer = malloc2(sizeof(PITUH));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFBJVFVIIHsKICAgIFBJVFVIKCkgewogICAgICAgIHN0ZDo6Y291dCA8PCAiUElUVUgoKSIgPDwgc3RkOjplbmRsOwogICAgfQp9OwoKY2xhc3MgbWFsbG9jMiB7CnB1YmxpYzoKICAgIG1hbGxvYzIoc2l6ZV90IHNpemUpIHt9CiAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gb3BlcmF0b3IgVCooKSB7CiAgICAgICAgcmV0dXJuIG5ldyBUOwogICAgfQp9OwoKaW50IG1haW4oKSB7CiAgICBQSVRVSCAqcGl0dWhfcG9pbnRlciA9IG1hbGxvYzIoc2l6ZW9mKFBJVFVIKSk7CiAgICByZXR1cm4gMDsKfQ==