gpt4 book ai didi

c++ - 删除一个 Char[]

转载 作者:太空狗 更新时间:2023-10-29 23:21:25 24 4
gpt4 key购买 nike

好的,我正在处理别人的代码。他们做了很多这样的事情:

char description[256];
description[0]=0;

我知道这会将\0 放在字符数组的第一个位置。但这是一种安全的删除字符串的方法吗?

此外,visual studio 不断报告内存泄漏,我几乎将其与所使用的字符串联系起来。

附言。是的,我知道 std::string,是的,我使用它。这不是我的代码。

最佳答案

初始化字符串为0,你可以这样做:

char description[256] = {0};

这会将 0 分配给数组的每个元素。

仅将第一个元素设置为 0 ('\0') 不会删除它的内容。它甚至不能保证整个字符串都设置为空字符。

正如其他人所说,在函数关闭之前,您不能“删除”静态创建的对象,当它被放弃时。从技术上讲,当函数被放弃时它也不会被删除——堆栈指针只是被改变了。如果您对要删除的数据存疑,您应该遍历数组,将每个条目设置为 0 ('\0')。

关于c++ - 删除一个 Char[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/305357/

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