Como posso verificar se há memória heap suficiente disponível?
Eu tenho uma tarefa que requer que eu crie uma classe "Heap" que aloca e desaloca a memória. Acredito que meu código funciona e a solução foi criada e executada corretamente, mas quero ter certeza de que não estou tendo vazamentos de memória. Eu também preciso adicionar algum código que verifique se a quantidade desejada a ser alocada para o heap está disponível mesmo ... se alguém fosse alocar uma quantia muito grande. Como é possível verificar se a memória alocada no heap está disponível ou NULL se não houver memória suficiente. Aqui esta o meu codigo ate agora:
#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;
}