topical media & game development
professional-program-16-Memory-MemoryDemo.c
? /
professional-program-16-Memory-MemoryDemo.c
include <MemoryDemo.h>
include <iostream>
using namespace std;
void* MemoryDemo::operator new(size_t size) throw(bad_alloc)
{
cout << "operator new\n";
return (::operator new(size));
}
void MemoryDemo::operator delete(void* ptr, size_t size) throw()
{
cout << "operator delete with size\n";
::operator delete(ptr);
}
/*
void MemoryDemo::operator delete(void* ptr) throw()
{
cout << "operator delete\n";
::operator delete(ptr);
}
*/
void* MemoryDemo::operator new[](size_t size) throw(bad_alloc)
{
cout << "operator new[]\n";
return (::operator new[](size));
}
void MemoryDemo::operator delete[](void* ptr) throw()
{
cout << "operator delete[]\n";
::operator delete[](ptr);
}
void* MemoryDemo::operator new(size_t size, const nothrow_t&) throw()
{
cout << "operator new nothrow\n";
return (::operator new(size, nothrow));
}
void MemoryDemo::operator delete(void* ptr, const nothrow_t&) throw()
{
cout << "operator delete nothrow\n";
::operator delete[](ptr, nothrow);
}
void* MemoryDemo::operator new[](size_t size, const nothrow_t&) throw()
{
cout << "operator new[] nothrow\n";
return (::operator new[](size, nothrow));
}
void MemoryDemo::operator delete[](void* ptr, const nothrow_t&) throw()
{
cout << "operator delete[] nothrow\n";
::operator delete[](ptr, nothrow);
}
void* MemoryDemo::operator new(size_t size, int extra) throw(bad_alloc)
{
cout << "operator new with extra int arg\n";
return (::operator new(size));
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.