fork download
  1. #include <iostream>
  2. #include <memory>
  3. #include <functional>
  4.  
  5. class I
  6. {
  7. public:
  8. virtual void Release() = 0;
  9. };
  10.  
  11. class IA: public I
  12. {
  13. public:
  14. void Release() override
  15. {
  16. std::cout << "Released";
  17. }
  18. };
  19.  
  20.  
  21. int main(int argc, char* argv[])
  22. {
  23. IA pRoot;
  24. std::function<void(I*)> deleter{&I::Release};
  25. std::unique_ptr<I, decltype(deleter)> lock(&pRoot, deleter);
  26. return 0;
  27. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Released