codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <cstddef> #include <iostream> struct widget { static void *operator new (std::size_t size) { std::cout << "widget::operator new (" << size << ")" << std::endl; return ::operator new (size); } static void operator delete (void *addr, std::size_t size) { std::cout << "widget::operator delete (" << size << ")" << std::endl; ::operator delete (addr); } static void *operator new [] (std::size_t size) { std::cout << "widget::operator new [] (" << size << ")" << std::endl; return ::operator new [] (size); } static void operator delete [] (void *addr, std::size_t size) { std::cout << "widget::operator delete [] (" << size << ")" << std::endl; ::operator delete [] (addr); } widget() { std::cout << "widget()" << std::endl; } ~widget() { std::cout << "~widget()" << std::endl; } char padding[10]; }; int main(void) { widget *p; p = new widget; delete p; p = new widget [3]; delete [] p; return 0; }
Private
[
?
]
Run code
Submit