C ++ char []内存泄漏?

时间:2014-04-28 02:33:41

标签: c++ memory-leaks

我是C ++的新手(从Java移植),我无法理解代码中是否有内存泄漏。

这是我的代码的基础(它更复杂,我带来了内存泄漏的重要位置)

char message[15000];
char allMessages[102400];
int allMessagesCounter;

int main() {
    connect() \\this works just fine
    openThreadAndGetAllMessages() \\ here I get each time a message to my message char array and concatenate it into allMessages array using allMessagesCounter
    cout << allMessages;
    disconnect() \\works just fine as well
}

我的问题是,我是否需要释放消息[]和allMessages []?

谢谢!

2 个答案:

答案 0 :(得分:4)

没有。通常,在C ++中,如果您使用关键字new,那么您之后也应该delete。您的变量是静态分配的,不需要删除。

答案 1 :(得分:0)

不,不是因为它们没有动态分配。如果内存分配了delete

,则只需要调用new
 int *a = new int [5]; //must call delete [] or memory leak
 int b [5]; //no need