std::string放在结构中不能删除对象的问题解决
2010-01-15 17:49
309 查看
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;
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;
相关文章推荐
- spring mvc绑定对象String转Date解决入参不能是Date的问题
- sqlserver 2008手工修改表结构,表不能保存的问题与解决方法
- js给<object>视频赋值 延迟加载,解决不能修改的html对象的问题 .
- [经验总结]std::string的警告信息不能消除的解决办法
- 警告:不能通过‘...’传递有非简单旧数据类型‘struct std::string’的对象
- 解决vs2003Automation不能创建对象的问题(2006-07-13 22:26:07)
- 解决VSFTP不能下载和不能删除的问题
- 泛型List<T>中方法Remove不能删除对象的解决
- 误删除系统libselinux.SO.1,导致系统命令基本上都不能使用--附解决问题的整个过程
- SqlServer孤立用户解决——"因为该用户存在对象,所以不能删除该用户。"
- sql server 2008手工修改表结构,表不能保存的问题与解决
- EasyUI的行对象的特殊列(如列名中包含‘-’)不能识别的问题解决
- VC++类删除后不能再建同名类的问题解决
- 解决 asp.net 中如果 Menu 控件放在 MasterPage 中, IE6 会出现的二级菜单不能正确显示的问题
- 解决ASP不能更新,数据库或对象为只读的问题
- mac 环境下mysql 不能删除schema问题的解决办法
- VS2010不能将参数 1 从“std::string”转换为“const char *”解决
- 解决fasterxml中string字符串转对象json格式错误问题
- 解决非IE浏览器不能获取flash对象的问题
- 解决oracle误删除dbf文件而不能启动的问题