释放内存问题

时间:2010-09-28 10:16:53

标签: c++ c xcode

我有一个关于释放内存的问题,如下:

            string points; // some points sequences

    char* charPoints = (char*)malloc((points.length() +1) * sizeof(char));

            //do something

    free(charPoints);

在使用乐器检查后,即使在释放内存后也会泄露

4 个答案:

答案 0 :(得分:2)

我看到的唯一问题是当malloc返回NULL时,因为它无法分配足够的连续内存。你确定内存泄漏是由malloc / free引起的吗?

答案 1 :(得分:2)

传递给free的指针必须与malloc返回的指针相同。如果传递不同的指针,将导致未定义的行为。在执行操作之前获取指针的副本,例如递增charPoints,然后将此原始指针传递给free函数以正确释放内存。

答案 2 :(得分:0)

您的泄漏检测仪器很糟糕。

答案 3 :(得分:0)

使用下面显示的NULL值释放内存更新

自由(charPoints); charPoints =“NULL”