我們有一個類,我們聲明boost::lockfree::queue
爲static
數據成員並覆蓋new
和delete
運算符。運算符new
/delete
中的邏輯是創建一個類的實例,以將對象的指針放入隊列中。boost :: lockfree :: queue作爲靜態數據成員
問題是,在測試用例完成後,我會得到段錯誤。如果我發表評論delete arr[i]
聲明那裏故障不再發生。
我的假設是,導致Boost隊列是靜態的,因此數據成員最後會被銷燬,或者當程序結束時會調用它自己的析構函數,但是我不確定它的析構函數中是什麼導致中止或給出分段錯誤。
任何指針將有助於解決問題嗎?