fork download
  1. #include <memory>
  2.  
  3. class MyClass
  4. {
  5. public:
  6.  
  7. static std::shared_ptr<MyClass> create() {
  8. struct make_shared_enabler : public MyClass {};
  9. return std::make_shared<make_shared_enabler>();
  10. }
  11.  
  12. friend class std::shared_ptr<MyClass>;
  13. private:
  14. MyClass() {}
  15. ~MyClass() {}
  16. };
  17.  
  18. int main() {
  19. auto p = MyClass::create();
  20. }
Success #stdin #stdout 0s 4504KB
stdin
Standard input is empty
stdout
Standard output is empty