gpt4 book ai didi

c++ - 释放字符指针

转载 作者:太空狗 更新时间:2023-10-29 19:48:17 29 4
gpt4 key购买 nike

我一直在尝试释放这个 char 指针数组,但我不确定如何完全释放它。

代码如下:

char* words[4];
words[0] = new char[8];
words[1] = new char[6];
words[2] = new char[10];
words[3] = new char[16];

这是我尝试过的

for (int i=0;i<4;i++)
{
delete [] words[i];// this works
}
delete [] words;//this gives an error, not sure why it doesn't work.

有人可以解释为什么这是不正确的以及如何解决它提前致谢。

最佳答案

删除的内容。你没有new words,所以不要删除它。大概这段代码在函数内部,在这种情况下 words 具有自动存储持续时间,并且在超出范围时将自动销毁。

此外,不要 new 任何你不需要的东西,这样可以避免正确删除它的麻烦(这可能非常困难)。需要动态数组时使用 std::vector,需要动态字符串时使用 std::string

关于c++ - 释放字符指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28205155/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com