fork(2) download
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <memory>
  4.  
  5. class MyInt
  6. {
  7. private:
  8. int val;
  9.  
  10. public:
  11. MyInt() : val(0) { std::cout << "default c'tor called" << std::endl; }
  12. MyInt(int rhs) : val(rhs) { std::cout << "c'tor (" << rhs << ") called" << std::endl; }
  13. ~MyInt() { std::cout << "d'tor called" << std::endl; }
  14. int getval (void) { return val; }
  15. };
  16.  
  17. int main()
  18. {
  19. std::shared_ptr<MyInt> pt = std::make_shared<MyInt>(3);
  20.  
  21. MyInt* pt2 = pt.get();
  22.  
  23. std::cout << "reference count " << pt.use_count() << std::endl;
  24.  
  25. pt = 0;
  26.  
  27. std::cout << pt2->getval() << std::endl;
  28. }
Success #stdin #stdout 0s 4228KB
stdin
Standard input is empty
stdout
c'tor (3) called
reference count 1
d'tor called
3