51 lines
752 B
C++

#include <new>
#include <cstdlib>
namespace std
{
const char* bad_alloc::what() const noexcept
{
return "bad_alloc";
}
}
void* operator new(size_t count)
{
if (void* ptr = malloc(count); ptr != nullptr)
{
return ptr;
}
__ba_throw std::bad_alloc();
}
void operator delete(void* data) noexcept
{
std::free(data);
}
void* operator new[](size_t count)
{
if (void* ptr = malloc(count); ptr != nullptr)
{
return ptr;
}
__ba_throw std::bad_alloc();
}
void operator delete[](void* data) noexcept
{
std::free(data);
}
void operator delete(void* data, size_t /* size */) noexcept
{
std::free(data);
}
void operator delete[](void* data, size_t /* size */) noexcept
{
std::free(data);
}