fork(1) download
  1. #include <cstdio>
  2. using namespace std;
  3.  
  4. struct Foo {
  5. int a;
  6. Foo(const Foo& foo) : a(foo.a) {
  7. printf("Foo(Foo& foo) - %d\n", a);
  8. }
  9. Foo(int x) : a(x) {
  10. printf("Foo(int) a == %d\n", a);
  11. }
  12. ~Foo() {
  13. printf("~Foo() a == %d\n", a);
  14. a = 0;
  15. }
  16. };
  17.  
  18. auto& fooRef(const Foo& f) {
  19. return f;
  20. }
  21.  
  22. int main() {
  23. const Foo& ref = fooRef(Foo(2));
  24. printf("ref.a == %d\n", ref.a);
  25. printf("end of main\n");
  26. return 0;
  27. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Foo(int) a == 2
~Foo() a == 2
ref.a == 0
end of main