Как я могу проверить, достаточно ли памяти в куче?
У меня есть задание, которое требует от меня создать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;
}