#include <iostream>
#include <memory> 

using B = std::unique_ptr<int, decltype(&::free)>;

class int_ptr : public B {
  public: 
    int_ptr(int *b) : B(b, &::free) { }
};

int main() {
	int_ptr(new int(3));
	return 0;
}