fork download
  1. #include <iostream>
  2. #include <memory>
  3. using namespace std;
  4.  
  5.  
  6. template<class T> class MyArray{
  7. T database[10];
  8. public: T& get(int index){return database[index];}
  9. void set(int index, T t){
  10. database[index]=t;
  11. }
  12. };
  13. template<class T> class MyArray<std::unique_ptr<T>>{
  14. T* database[10];
  15. public: T*& get(int index){return database[index];}
  16. void set(int index, std::unique_ptr<T> t){
  17. T* tmp=t.release();
  18. database[index]=tmp;
  19. }
  20. };
  21. class B{};
  22. int main() {
  23. MyArray<B> test1;
  24. MyArray<B*> test2;
  25. MyArray<std::unique_ptr<B>> test3;
  26. test3.set(2,std::make_unique<B>());
  27. return 0;
  28. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty