题
假设我有一个LPSTR变量。我如何使用可变后释放内存。 是它
LPSTR szFileName = GetSBCSBuffer(sFilePath); // sFilePath is a CString
delete szFileName;
OR
delete []szFileName;
请告知
解决方案
如果存储器使用new char[SIZE]
那么它需要使用delete []
被释放分配。
其他提示
您可以不回答这个问题,不知道GetSBCSBuffer的细节。希望谁写离开你的代码和/或文档的功能,所以你能看到串得来的。这可能是你没有替代品是正确的。 GetSBCSBuffer的作者可能使用不同的内存分配器或返回一个指向内部sFilePath的位置。在后一种情况下这将是非常糟糕的调用任何释放器。
我只注意到你的回答自己的问题中的 elder_george的回答。实施采用了新的[],所以你需要删除[]。
不隶属于 StackOverflow