C++のmalloc関数の使い方を教えてください。
C++では、malloc関数で動的メモリを確保します。
- ヘッダファイルを含む。
- malloc 関数を使用して動的にメモリを割り当てる構文は void* malloc(size_t size) で、size は割り当てる必要のあるメモリサイズを表します。また、void ポインタが返されます。
- メモリーリークを防ぐため、割り当てたメモリーを使い終えたら、free関数でメモリーを解放する必要があります。その構文は void free(void *ptr)で、ptrパラメーターは先にmalloc関数で呼び出したときに返されたポインターです。
以下にサンプルコードを示します。
#include <cstdlib>
int main() {
int* nums;
int count = 5;
// 使用malloc函数动态分配内存
nums = (int*)malloc(count * sizeof(int));
if (nums == nullptr) {
// 内存分配失败
return 1;
}
// 对nums进行操作
for (int i = 0; i < count; i++) {
nums[i] = i;
}
// 使用完后,释放内存
free(nums);
return 0;
}
ご留意事項:
- mallocはvoidポインタを返すので、使用時には強制型変換を行う必要があります。
- メモリーリークを防ぐには、使用後必ずfree関数でメモリを解放する必要がある。