delete-operator

    -1熱度

    3回答

    我有一個包含3個節點指針和2個整數的節點類。我用new分配了所有的節點,但是當我調用delete時,整數被設置爲-17891602,並且它將我代碼的其餘邊界檢查搞砸了。什麼會導致delete這樣做?

    6熱度

    4回答

    可能重複: Is there any reason to check for a NULL pointer before deleting? 我經常看到以下代碼: if(pointer) delete pointer; 我的理解它是安全的刪除空指針,那麼這個檢查的重點是什麼?

    0熱度

    2回答

    我必須使用C++實現一個二叉搜索樹來進行分配。我創建了類,並試圖實現InsertItem,PrintTree,DeleteTree方法類的,我覺得我做的一切都是正確的,但由於某種原因,我的程序總是崩潰:( 這裏是我的代碼: PrintTree方法 template <class TItem> void BinarySearchTree<TItem>::PrintTree() { Pr

    4熱度

    2回答

    可能重複: Deleting a pointer to const (T const*) void operator delete (void*); ... const char *pn = new char, *pm = (char*)malloc(1); delete pn; // allowed !! free(pm); // error Demo。 這是可以理解的free()是

    -2熱度

    1回答

    我有一個NSMutablearray對象。對象的數量由用戶設置。在C++中我會用一個用於循環和「新」 command.something這樣的: int fromuser, a; for(a=0;a<fromuser;a++){ array addobject:(new class obj) } 什麼,我需要在OBJ C++做的,因爲沒有新的?

    4熱度

    2回答

    據我所知,有3 general ways修改的新的行爲,並刪除C++: 更換默認new/delete和新的[] /刪除[] 重寫或超載放置版本(覆蓋傳遞給它的內存位置,在創建傳遞其他類型或數量參數的版本時重載) 重載類特定版本。 對new/delete的行爲進行這些修改的限制是什麼? 特別是有新的和刪除可以用於簽名的限制? 這是有道理的,如果任何更換版本必須具有相同的簽名(否則他們不會更換或會破壞

    1熱度

    3回答

    我對編程相對來說比較陌生,所以這可能聽起來像是一個愚蠢的問題,你給經驗豐富的專業人員在那裏。這裏所說: 在C++中,當我使用數組delete運算符,我已經注意到,包含在已釋放內存位置的數據將被保留。例如: int* testArray=new int[5]; testArray[3]=24; cout<<testArray[3]; //prints 24 delete [] testArra

    1熱度

    2回答

    如果我有一個類FunctionsClass,它繼承QObject並且其中的QTcpServer和QTcpClient作爲成員變量。在我的主UI類我成立了一個名爲FunctionClassThreadQthread的FunctionsClass成員變量做: FunctionsClass *classObj = new FunctionsClass // (classObj is a class me

    55熱度

    4回答

    根據N3290 std::unique_ptr在其構造函數中接受deleter參數。 但是,我不能在Windows中使用Visual C++ 10.0或MinGW g ++ 4.4.1,也不能在Ubuntu中使用g ++ 4.6.1。 因此,我害怕我對它的理解是不完整或錯誤的,我無法看到明顯被忽略的刪除參數,所以任何人都可以提供一個工作示例? 最好我想看看它是如何工作的unique_ptr<Bas

    0熱度

    1回答

    我得到的問題是我在刪除二叉樹節點期間收到了堆損壞消息。有消息稱: HEAP [lab4.exe]:堆:免費堆塊5788c0修改的5788e8 它被釋放Windows已經引發了lab4.exe斷點之後。 這可能是由於堆損壞引起的,這表明lab4.exe或其加載的任何DLL中存在一個錯誤。 這也可能是由於用戶按F12而lab4.exe具有 焦點。 這聽起來像我正在寫入一塊已被釋放的內存。 Valgri