#include <iostream>
#include <memory>
using namespace std;


class T{
	public: int value;
	public: T(int a=1234){
		value = a;
	}
};
int main() {
	std::unique_ptr<T> t1 = std::unique_ptr<T>(new T(1));
	void* databaseNew=operator new [](sizeof(std::unique_ptr<T>));
	std::unique_ptr<T>* t1ptr=static_cast<std::unique_ptr<T>*>(databaseNew);
	new (t1ptr)	std::unique_ptr<T>(std::move(t1));
	return 0;
}
