delete-operator

    0熱度

    2回答

    我正在開發一個遊戲,我有一個樹類。這個類有一個叫做「木」的int,它保留了樹中留下的木材數量。還有一個功能可以跟蹤所有事件。當值達到0我想刪除這個對象(順便說一句,我使用的代碼塊和SDL庫) 的handle_events功能: void Tree::handle_events(SDL_Event event, int MouseX, int MouseY, int Xoffset, int Yof

    8熱度

    6回答

    我正在寫一個模板類,它在內部管理給定類型的數組。就像這樣: template<typename T> class Example { // ... private: T* objects; // allocated in c'tor (array), deleted in d'tor // ... }; 我在想,如果C++調用每個對象的析構函數中object

    -1熱度

    3回答

    我正在調整大小和對象數組。我做了一個臨時對象,但是當我不刪除它時,Valgrind顯示內存泄漏和錯誤。刪除它會導致段錯誤。只是不知道什麼Valgrind的抱怨...... void Obj::resize() { Obj *temp = new Obj[size * 2]; //<-- line 92 for (int i = 0; i < size; i++) t

    2熱度

    1回答

    我重載操作符new/delete在一個子類中,我注意到一種行爲,這對我來說似乎很奇怪。當使用Visual Studio 2010編譯 #include <stdlib.h> #include <stdio.h> class Base { public: virtual ~Base() { } }; class Derived : public Bas

    -3熱度

    1回答

    我必須刪除構件**對象的**object(**personnel)作爲內部的構件(組合物)另一個目的,我想以釋放存儲器**personnel指向並指向另一**temp( personnel=temp),沒有delete荷蘭國際集團**personnel,只是做personnel=temp程序運行良好,但如果我想delete **personnel它攪亂了一切,我總是得到一個錯誤「_Block_Ty

    0熱度

    2回答

    我有一個問題,我無法在任何地方找到答案。然而,有一些代碼,我必須表明: #include "Vector2D" class something { Vector2D * p_Position; public: something(){p_Position = new Vector2D;} ~something(){delete

    0熱度

    1回答

    我想實現一個容器將內存分配給堆,但它好像我的基構造函數和我的參數構造函數不喜歡彼此。下面,我發佈了沒有任何註釋的代碼。就目前而言,它崩潰了。 #include <iostream> using namespace std; class foo { public: foo() {size=1; vals = new double[1]; vals[0]=0;} ~foo

    0熱度

    4回答

    我正在學習指針atm。我對delete []運算符感到困惑。 下面是一個例子: int* a = new int[12]; for (int i=0; i<12; i++) a[i]=123; delete[] a; for (int i=0; i<12; i++) cout <<a[i]<<" "; 如果我沒有得到它,delete[]經營者應destory陣列

    1熱度

    4回答

    當你試圖刪除一個非指針類型,但它不顯示,並且只在運行時崩潰時,你會期望編譯器錯誤。我花了整整2天的時間認爲它是一個實際的指針變量,並且由於代碼中其他地方的堆損壞而導致崩潰。最後我意外地看了一下被刪除的變量的聲明,發現它根本不是一個指針類型。

    1熱度

    3回答

    條件調用調用delete假設我有以下類: foo{ ~foo(); private: char *bar; }; 在一定條件下欄將創建一個新的字符數組所以這將是處理它的缺失正確的方法是什麼?一個簡單的布爾會做還是會被認爲是不好的做法?