[ create a new paste ] login | about

Link: http://codepad.org/rojFWYYr    [ raw code | output | fork ]

C++, pasted on May 16:
#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;
}


Output:
1
hello!


Create a new paste based on this one


Comments: