Как я могу проверить, достаточно ли памяти в куче?
У меня есть назначение, которое требует от меня создать класс «кучи», который выделяет и освобождает память. Я считаю, что мой код работает, а решение строится и работает правильно, но я хочу убедиться, что у меня не возникает утечек памяти. Мне также нужно добавить некоторый код, который проверяет, является ли желаемая сумма, выделяемая для кучи, доступной ... если кто-то выделит очень большую сумму. Как можно проверить, доступна ли память, выделенная в куче, или NULL, если не хватает памяти. Вот мой код до сих пор:
#include <iostream>
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;
}