Как я могу проверить, достаточно ли памяти в куче?

У меня есть задание, которое требует от меня создатьHeap» класс, который выделяет и освобождает память. Я считаю, что мой код работает, а решение строится и работает правильно, но я хочу убедиться, что у меня не возникает утечек памяти. Мне также нужно добавить некоторый код, который проверяет, является ли желаемая сумма, которая будет выделена для кучи, даже доступной ... если кто-то выделит очень большую сумму. Как можно проверить, доступна ли память, выделенная в куче, или NULL, если не хватает памяти. Вот мой код до сих пор:

#include 
using namespace std;

class Heap{
public:

double* allocateMemory(int memorySize)
{
    return new double[memorySize];
};
void deallocateMemory(double* dMemorySize)
{
    delete[] dMemorySize;
};

};

int main()
{
Heap heap;
cout < "Enter the number of double elements that you want to allocate: " < endl;
int hMemory;
const int doubleByteSize = 8;
cin >> hMemory;

double *chunkNew = heap.allocateMemory(hMemory);

cout < "The amount of space you took up on the heap is: " <          hMemory*doubleByteSize < " bytes" < 
     starting at address: " < "\n" < &hMemory < endl; 

heap.deallocateMemory(chunkNew);

system("pause");
return 0;
}

Ответы на вопрос(1)

Ваш ответ на вопрос