C++

2013-03-09, cpp

メモリの動的確保

malloc,freeの代わりに、C++ではnew,delete演算子を用いてメモリの確保と解放を行います。sizeofが要らないなど、かなり簡潔になった印象です。

char* ss;
int* dt;
// C流
ss = (char*)malloc(80);
dt = (int*)malloc(20 * sizeof(int));

free(ss);
free(dt);

// C++流
ss = new char[80];
dt = new int[20];

delete [] ss;
delete [] dt;

多次元配列の場合は少し複雑で、例えば長さ80の文字型配列を10個確保したい場合は以下のように記述します。

char (*sss)[80] = new char[10][80];

参考URL

新Visual C++6.0入門 ビギナー編

この記事は役に立ちましたか?