首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LPSTR使用后如何释放内存

LPSTR使用后如何释放内存
EN

Stack Overflow用户
提问于 2009-11-06 23:21:20
回答 2查看 2.9K关注 0票数 0

假设我有一个LPSTR变量。如何在使用变量后释放内存。是吗

代码语言:javascript
复制
LPSTR szFileName = GetSBCSBuffer(sFilePath); // sFilePath is a CString
delete szFileName;

代码语言:javascript
复制
delete []szFileName;

敬请指教

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-06 23:36:05

如果内存是使用new char[SIZE]分配的,则需要使用delete []释放它。

票数 1
EN

Stack Overflow用户

发布于 2009-11-07 00:14:09

如果不了解GetSBCSBuffer的细节,您就无法回答这个问题。希望写这个函数的人给你留下了代码和/或文档,这样你就可以知道字符串是从哪里来的。这可能是你的两个选择都不正确。GetSBCSBuffer的作者可能使用了不同的内存分配器,或者返回了指向sFilePath内部位置的指针。在最后一种情况下,呼叫任何解除分配器都是非常糟糕的。

我刚刚注意到你在给elder_george's answer的评论中自己回答了这个问题。该实现使用了new[],因此您需要使用delete[]。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1688278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档