#include #include 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); }