如何释放 BYTE 内存?
How to release BYTE memory?
快速提问:我是否必须/如何从该内存分配中释放内存?
unsigned char *uString = new unsigned char[4096]();
如果必须,我会这样做吗?
free(uString); delete[] uString;
当您使用 malloc
calloc
等 C 函数分配内存时,您会使用 free
函数。
在 C++ 中,您使用运算符 new
和 delete
(还有他们的数组朋友 new[]
和 delete[]
)。
当你想删除用运算符new[]
创建的对象时,调用运算符delete[]
。
例如:
int main(void)
{
int[] arr = new int[5];
int* a = new int;
delete[] arr;
delete a;
return 0;
}
仅此而已。这也将调用析构函数。
快速提问:我是否必须/如何从该内存分配中释放内存?
unsigned char *uString = new unsigned char[4096]();
如果必须,我会这样做吗?
free(uString); delete[] uString;
当您使用 malloc
calloc
等 C 函数分配内存时,您会使用 free
函数。
在 C++ 中,您使用运算符 new
和 delete
(还有他们的数组朋友 new[]
和 delete[]
)。
当你想删除用运算符new[]
创建的对象时,调用运算符delete[]
。
例如:
int main(void)
{
int[] arr = new int[5];
int* a = new int;
delete[] arr;
delete a;
return 0;
}
仅此而已。这也将调用析构函数。