delete-operator

    1熱度

    1回答

    考慮下面的類: public ref class Workspace { protected: Form^ WorkspaceUI; SplitContainer^ WorkspaceSplitter; AvalonEditTextEditor^ TextEditor; ScriptOffsetViewer^ OffsetViewer;

    0熱度

    4回答

    可能重複: Is there any way to determine the size of a C++ array programmatically? And if not, why? 我可以用C++動態分配的數組的長度,如果沒有,請問C++的delete運算符知道有多少元素自由。 我搜索了論壇,發現對於動態分配的數組,長度存儲在數組標題之前的四個字節或其他地方。我怎樣才能得到這個價值?

    3熱度

    4回答

    這樣做: union{ int * integer; char * character; } u; u.integer = new int; delete u.character; u.integer = new int[5]; delete [] u.character; 我認爲如果有這些類型的具有不平凡的析構函數這是行不通的,但是這行嗎?

    4熱度

    2回答

    我新的C++和我有什麼不清楚: #include <iostream> using namespace std; double* foo(void) { double* b = new double[100]; return b; } int main() { double* a = foo(); delete [] a; ret

    1熱度

    1回答

    我想刪除一個char *數組,這應該是簡單的吧? char * = new char[length];然後用delete[] char;? 另外,本人練習無法使用std::string。 我得到這個錯誤: HEAP CORRUPTION DETECTED: after Normal block (#137) 0x00794B50. CRT detected that the application

    0熱度

    3回答

    #include <Windows.h> #include <iostream> using namespace std; int main(void) { unsigned char* pFoo = new unsigned char[1000]; pFoo = (unsigned char*)VirtualAlloc(NULL, 1000, MEM_COMMI

    1熱度

    1回答

    我設計一個包裝類的重新分配(有點類似std::autoPtr但我有不同的目的): template <typename T> class ScalarPtr { private: T* m_data; ... public: ScalarPtr(T *data): m_data(data) { ... } T& operator*();

    3熱度

    2回答

    對於delete應用於指向未完成類型的指針的情況,Visual C++有C4150 warning。 根據標準,此類情況會產生未定義的行爲。在Visual C++中的AFAIK,它們導致默認的operator delete()函數,並且沒有調用析構函數,它允許有許多錯誤。 現在我可以在Visual C++中使用#prarma warning(error : 4150)來將該警告視爲錯誤。我想這是爲

    0熱度

    3回答

    這是一個很簡單的問題(或者至少乍一看)。讓我們說我們有以下步驟: void procedure(void) { int x = new int; x=42; } 當我打電話這個程序在我的程序中應該導致所謂的內存泄漏,對嗎?我在處理一個小項目時遇到過這樣的錯誤,然後編譯器輸出類似如下內容:檢測到內存泄漏。嘗試模擬內存泄漏,看看什麼編譯器的輸出,但它根本沒有抱怨(我

    1熱度

    4回答

    我有一個指向其他對象的指針數組,稱爲Comparable *數組(在類的模板內)。 據我所知,刪除刪除指針引用的內存,並且delete []釋放分配給數組中每個指針的內存。 我的問題是如果我有一個數組包含指向其他對象的指針,如何取消分配數組中的每個指針和數組本身所引用的內存?