[英]Delete QMap value as a pointer
我有一個QMap
的鍵QString
和值 myClass
。 我瀏覽了Qt文檔,並決定將值定義為指向myClass
對象的指針。 但是,我對如何同時remove
鍵和(由新運算符分配的指針對象)值的問題感到困惑? 如果我使用了remove()方法,就動態分配對象的內存釋放而言,這是否安全?
這是一個好選擇嗎?
myClass *type = types.take("foo");
delete type;
正如Qt文檔所說的關於QMap :: take()函數
從地圖上移除帶有鑰匙的物品,並返回與之關聯的值。
這樣您的代碼將從映射中刪除鍵,並刪除為myClass對象分配的內存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.