typedef struct tag_GPRSRECVFORANLYZE {
BYTE byCmdType;//指令
SOCKET hSocket;//SOCKET
std::string strSendText;//发送的文件
CString strGUID;//GUID
}TAG_GPRSRECVFORANLYZE,*LPTAG_GPRSRECVFORANALYZE;
如上面的结构new出对象以后,删除对象以后还是会出现内存的泄漏,这是std::string设计上的问题。
解决的方法是:
typedef struct tag_GPRSRECVFORANLYZE {
BYTE byCmdType;//指令
SOCKET hSocket;//SOCKET
std::basic_string<char> strSendText;//发送的文件
CString strGUID;//GUID
}TAG_GPRSRECVFORANLYZE,*LPTAG_GPRSRECVFORANALYZE;
本文介绍了一个关于使用std::string导致内存泄漏的问题,并提供了解决方案,即使用std::basic_string<char>来替代,以避免内存泄漏的情况发生。

被折叠的 条评论
为什么被折叠?



