gpt4 book ai didi

c++ - 重新 -'new' TCHAR* 数组

转载 作者:行者123 更新时间:2023-11-30 01:38:24 29 4
gpt4 key购买 nike

TCHAR* 数组的重新 是否会产生负面/未定义的影响?或者甚至可能不推荐?到目前为止,下面的代码一直运行良好。需要投入。谢谢!

//e.g.
TCHAR *tc1 = new TCHAR[1];

// later:

//resize TCHARs
tc1 = new TCHAR[size1];
tc1[size1] = { L'\0' };

最佳答案

这是内存泄漏。您需要删除 new 调用创建的任何内容。如果你这样做,一切都很好:

//e.g.
TCHAR *tc1 = new TCHAR[1];

// later:

//resize TCHARs
delete [] tc1;
tc1 = new TCHAR[size1];
tc1[size1] = { L'\0' };

尽管在一个不相关的注释中,您的最后一行写在您分配的数组后面。那是好。但这与您的内存分配无关,它本身就是一个错误。

如果使用字符串类,可以避免很多这样的情况。 std::string 或者如果您使用的是 MFC,CString

关于c++ - 重新 -'new' TCHAR* 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47952038/

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