10

メモリの割り当てと割り当て解除を行う「ヒープ」クラスを作成する必要がある割り当てがあります。私のコードは機能し、ソリューションは適切にビルドおよび実行されると思いますが、メモリ リークが発生していないことを確認したいと考えています。また、ヒープに割り当てられる必要な量が利用可能かどうかを確認するコードを追加する必要があります...誰かが非常に大きな量を割り当てた場合。十分なメモリがない場合、ヒープに割り当てられたメモリが使用可能か 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;
}
4

1 に答える 1