在使用Direct2D的MFC应用程序中我有非常简单的代码:
//在构造函数:我是否需要删除此对象?
EnableD2DSupport();
m_pBlackBrush = new CD2DSolidColorBrush(GetRenderTarget(), D2D1::ColorF(D2D1::ColorF::Black));
现在的问题是,我应该打电话给删除m_pBlackBrush?如果是这样的话?我试图在析构函数上调用delete,但我得到的错误表明存在写访问冲突。任何人都知道我是否应该删除这个画笔或者干脆离开它(这看起来很奇怪)?
确定你需要'删除'这个对象,当你使用'new'创建它时,否则你会有内存泄漏。 –
这可能取决于你如何使用它。我记得MFC有关于对象所有权的奇怪想法,因此,如果您将该笔刷放在设备上下文中,它可能会承担所有权。对不起,我不记得细节。 –
@πάνταῥεῖ你读过我的文章了吗?我试着打电话给它删除,但我得到错误,这就是为什么我在这里问这个问题 –