fork(1) download
  1. #include <iostream>
  2.  
  3. struct NonTrivial
  4. {
  5. int i = 5;
  6. ~NonTrivial() { std::cout << "Destructor" << std::endl; }
  7. };
  8.  
  9. struct Trivial
  10. {
  11. int i = 5;
  12. };
  13.  
  14. int main()
  15. {
  16. NonTrivial *p = new NonTrivial[29];
  17. std::cout << *((size_t *) p - 1) << std::endl;
  18. std::cout << *((size_t *) p - 2) << std::endl;
  19. std::cout << *((size_t *) p - 3) << std::endl << std::endl;
  20.  
  21. Trivial *t = new Trivial[29];
  22. std::cout << *((size_t *) t - 1) << std::endl;
  23. std::cout << *((size_t *) t - 2) << std::endl;
  24. std::cout << *((size_t *) t - 3) << std::endl << std::endl;
  25.  
  26. int *q = new int[29];
  27. std::cout << *((size_t *) q - 1) << std::endl;
  28. std::cout << *((size_t *) q - 2) << std::endl;
  29. std::cout << *((size_t *) q - 3) << std::endl << std::endl;
  30. }
  31.  
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
29
129
0

121
0
5

121
5
5