2 jujiawu1024 jujiawu1024 于 2016.02.25 17:32 提问

MFC对象的释放问题,怎么改写MFC对象

MFC里面的对象,比如CSTRING,必须用new和delete么?用malloc可以么?因为有个结构体,谢谢

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.20 21:47
已采纳

如果是用指针动态分配的,用了new,就要配对使用delete,如果是成员变量,就不需要。

baijiaheizhiganmao
baijiaheizhiganmao   2016.03.03 14:56

你的CSTRING是自定义的类型还是说CString呢?
1 CString 指针对象可以通过new 和delete来获取和释放,但是普通对象你直接写 CString ab;就行了,会有构造函数做这件事情的.
2 假如是你自定义的,你可以使用malloc 和 free 但是记住,假如你CSTRING定义里面有string 或者 CString成员,那么要小心了,因为你可能没办法malloc
出正确的空间(你知道一个string应该给多大的空间吗?不知道,那么你如何传给malloc你对象的大小呢).

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!