-1
我正在使用C++優先級隊列,每次迭代發生時我都必須清除優先級隊列。由於已經有一個優先級隊列定義沒有明確的功能我想這樣優先隊列中可能的內存泄漏?
priority_queue <int> fpq;
while(condition)
{
//Resetting fpq for each iteration
fpq=priority_queue<int>(); //Possible memory leak
//modified fpq
}
凡FPQ是現有對象,我在它使用其構造一個新的優先級隊列(裏面是空的),把一個方法。我的問題是,它會導致內存泄漏,因爲在此代碼行之前分配給fpq的內存未明確釋放。還是被照顧?
您可以讓RAII在超出範圍時自動調用'fpq'析構函數來處理它嗎?如果您擔心內存泄漏,請嘗試通過valgrind運行代碼。 – shuttle87 2014-11-09 08:26:11
標準庫容器和容器適配器管理自己的存儲空間。發佈的代碼中沒有泄漏。 – Blastfurnace 2014-11-09 08:29:10