fork download
  1. #include <iostream>
  2. #include <tr1/memory>
  3. using namespace std;
  4.  
  5. template <typename T>
  6. class ArrayDeleter
  7. {
  8. public:
  9. void operator () (T* d) const
  10. {
  11. delete [] d;
  12. }
  13. };
  14.  
  15. int main ()
  16. {
  17. // Usage
  18. std::tr1::shared_ptr<double> d (new double [10], ArrayDeleter<double> ());
  19. std::cout << sizeof(d) << std::endl;
  20. for (size_t n = 0; n < 10; ++n)
  21. {
  22. d.get()[n] = 0.1 * n;
  23. std::cout << d.get()[n] << std::endl;
  24. }
  25. }
  26.  
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
8
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9