fork download
  1. #include <memory>
  2.  
  3. class Foo {};
  4. class Bar: public Foo {};
  5.  
  6. namespace std {
  7. template<typename T, typename... Args>
  8. std::unique_ptr<T> make_unique(Args&&... args) {
  9. return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
  10. }
  11. }
  12.  
  13. std::unique_ptr<Foo> makeFoo() {
  14. std::unique_ptr<Bar> bar = std::make_unique<Bar>();
  15. return std::move(bar);
  16. }
  17.  
  18.  
  19. int main() {
  20. std::unique_ptr<Foo> foo = makeFoo();
  21. }
  22.  
Success #stdin #stdout 0s 3024KB
stdin
Standard input is empty
stdout
Standard output is empty