fork download
  1. #include <iostream>
  2. #include <deque>
  3. #include <list>
  4. #include <vector>
  5.  
  6. namespace {
  7. std::ios_base::Init const make_sure_cout_and_stuff_exists;
  8. }
  9.  
  10. void* operator new (std::size_t size)
  11. {
  12. if (auto p = malloc(size))
  13. {
  14. static auto counter = 0;
  15. std::cout << "Allocate (new) " << size << " bytes. " << p << " new-counter: " << ++counter << '\n';
  16. return p;
  17. }
  18. throw std::bad_alloc();
  19. }
  20. void operator delete (void* p)
  21. {
  22. static auto counter = 0;
  23. std::cout << "Deallocate (delete) " << p << " delete-counter: " << ++counter << '\n';
  24. free(p);
  25. }
  26.  
  27. int main()
  28. {
  29. std::deque<int> v;
  30. for (auto i = 1500; i--; )
  31. v.push_back(i);
  32. }
Success #stdin #stdout 0s 2964KB
stdin
Standard input is empty
stdout
Allocate (new) 32 bytes. 0x90a3008 new-counter: 1
Allocate (new) 512 bytes. 0x90a3030 new-counter: 2
Allocate (new) 512 bytes. 0x90a3238 new-counter: 3
Allocate (new) 512 bytes. 0x90a3440 new-counter: 4
Allocate (new) 512 bytes. 0x90a3648 new-counter: 5
Allocate (new) 512 bytes. 0x90a3850 new-counter: 6
Allocate (new) 72 bytes. 0x90a3a58 new-counter: 7
Deallocate (delete) 0x90a3008 delete-counter: 1
Allocate (new) 512 bytes. 0x90a3aa8 new-counter: 8
Allocate (new) 512 bytes. 0x90a3cb0 new-counter: 9
Allocate (new) 512 bytes. 0x90a3eb8 new-counter: 10
Allocate (new) 512 bytes. 0x90a40c0 new-counter: 11
Allocate (new) 512 bytes. 0x90a42c8 new-counter: 12
Allocate (new) 512 bytes. 0x90a44d0 new-counter: 13
Allocate (new) 512 bytes. 0x90a46d8 new-counter: 14
Deallocate (delete) 0x90a3030 delete-counter: 2
Deallocate (delete) 0x90a3238 delete-counter: 3
Deallocate (delete) 0x90a3440 delete-counter: 4
Deallocate (delete) 0x90a3648 delete-counter: 5
Deallocate (delete) 0x90a3850 delete-counter: 6
Deallocate (delete) 0x90a3aa8 delete-counter: 7
Deallocate (delete) 0x90a3cb0 delete-counter: 8
Deallocate (delete) 0x90a3eb8 delete-counter: 9
Deallocate (delete) 0x90a40c0 delete-counter: 10
Deallocate (delete) 0x90a42c8 delete-counter: 11
Deallocate (delete) 0x90a44d0 delete-counter: 12
Deallocate (delete) 0x90a46d8 delete-counter: 13
Deallocate (delete) 0x90a3a58 delete-counter: 14