在使用Direct2D的MFC應用程序中我有非常簡單的代碼:
//在構造函數:我是否需要刪除此對象?
EnableD2DSupport();
m_pBlackBrush = new CD2DSolidColorBrush(GetRenderTarget(), D2D1::ColorF(D2D1::ColorF::Black));
現在的問題是,我應該打電話給刪除m_pBlackBrush?如果是這樣的話?我試圖在析構函數上調用delete,但我得到的錯誤表明存在寫訪問衝突。任何人都知道我是否應該刪除這個畫筆或者乾脆離開它(這看起來很奇怪)?
確定你需要'刪除'這個對象,當你使用'new'創建它時,否則你會有內存泄漏。 –
這可能取決於你如何使用它。我記得MFC有關於對象所有權的奇怪想法,因此,如果您將該筆刷放在設備上下文中,它可能會承擔所有權。對不起,我不記得細節。 –
@πάνταῥεῖ你讀過我的文章了嗎?我試着打電話給它刪除,但我得到錯誤,這就是爲什麼我在這裏問這個問題 –