fork(1) download
  1. #include <iostream>
  2.  
  3. struct Foo
  4. {
  5. explicit Foo(int i) : i_(i) {std::cout << "Foo constructor " << i_ << std::endl;}
  6. Foo(const Foo& rhs) : i_(rhs.i_)
  7. {
  8. std::cout << "Foo copy constructor" << i_ << std::endl;
  9. }
  10. Foo& operator=(const Foo& rhs)
  11. {
  12. i_ = rhs.i_;
  13. std::cout << "Foo copy assignment" << i_ << std::endl;
  14. }
  15. ~Foo() { std::cout << "Foo destructor " << i_ << std::endl;}
  16. int i_;
  17. };
  18.  
  19. int main()
  20. {
  21.  
  22. {
  23. Foo f1 = *new Foo(1);
  24. Foo f2(2);
  25. }
  26. std::cout << "Bye" << std::endl;
  27. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Foo constructor 1
Foo copy constructor1
Foo constructor 2
Foo destructor 2
Foo destructor 1
Bye