C++ (Qt)typedef void (*DestroyFunc)(OpaqueRef);std::unique_ptr<OpaqueRef, DestroyFunc> p(CreateOpaqueRef(name), DestroyOpaqueRef);
C++ (Qt)void DoSomething( OpaqueRef * );..DoSomething(p); // а так нельзяDoSomething(p.get()); // можно так DoSomething(& *p); // хммм...