释放一系列C串

Freeing array of c-strings

本文关键字:一系列 释放      更新时间:2023-10-16

在这里,我有一系列动态分配的c串。

  • 释放这种数组的正确方法是什么?

  • 有必要单独释放A的每个元素,如下面的代码吗?

谢谢。

#include <string.h>
int main()
{
    const char** A = new const char*[3];
    A[0] = (const char*)memcpy(new char[5], "str0", 5);
    A[1] = (const char*)memcpy(new char[5], "str1", 5);
    A[2] = (const char*)memcpy(new char[5], "str2", 5);
    // Is this the proper way to free everything?
    for (int i = 0; i < 3; ++i)
        delete[] A[i];
    delete[] A;
}

是。只要每个new ...[]delete[] ...匹配。

都可以。