codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <new> #include <iostream> struct widget { static std::size_t m_count; void *operator new (std::size_t, void *p) { ++m_count; return p; } void operator delete (void *, void *) { --m_count; } void hello() const { std::cout << "hello"; } }; std::size_t widget::m_count = 0; int main(void) { char mem[sizeof(widget)]; widget *pw = new (mem) widget(); pw->hello(); pw->~widget(); // widget::operator delete (pw, mem); if(widget::m_count != 0) std::cout << "!"; return 0; }
Private
[
?
]
Run code
Submit