destructor

    0熱度

    2回答

    我有一個類在構造時創建一個臨時文件,並在完成後刪除它。請注意,我瞭解創建臨時文件可能不是解決原始問題的理想方案,但假定這不能改變。除此之外,代碼將在整個程序過程中運行多次。 這是最理想的刪除文件的地方嗎? 選項1: import sys import os class Foo: def __init__(self): self.file = open("temp.txt

    0熱度

    1回答

    我目前正在嘗試創建一個學生結構的動態數組。唯一的問題是當我正在嘗試編譯時,我得到了很多錯誤,數量太多了。我以爲我正在刪除我正在使用的所有內存。 該程序的輸入是多少個學生和多少個等級,然後根據他們想要的等級和多少個學生動態地創建一個數組。 輸出應該是打印每個學生和年級,但我不認爲我應該有這個問題,動態記憶是我不明白的部分。 // Filename: pointers.cpp #include <s

    0熱度

    1回答

    當一個類具有私有析構函數時,只能創建該類的動態對象。爲什麼?

    3熱度

    1回答

    假設我們有一個類 class A { virtual void f(); }; 將在默認的析構函數是虛擬的?

    0熱度

    1回答

    我宣佈幾WithEvent handlerr像 Private WithEvents mErrorList As ErrorList Private WithEvents mControlManager As ControlManager 我用這個處理程序訂閱類中的事件,如 Private Sub mControlManager_PageLoaded(sender As Object, e As

    4熱度

    2回答

    我想知道是否有可能捕獲在成員析構函數中拋出的異常。例如: #include <exception> class A { public: ~A() { throw std::exception("I give up!"); } }; class B { A _a; public: ~B() { // How to ca

    2熱度

    3回答

    我正在創建一個文件格式,我想寫一個明確的消息到文件中,指出作者跑完了。過去我遇到過生成文件的問題,生成的程序崩潰了,文件被截斷了,但我沒有意識到,因爲沒有明確的標記,沒有辦法讀取程序來檢測文件是不完整的。 所以我有一個用於寫入這些文件的類。現在通常如果你有一個「開放」操作和一個「關閉」操作你想使用RAII,所以我會把代碼寫入析構函數中的文件結束標記。這樣用戶就不會忘記。但是在寫入沒有完成的情況下,

    14熱度

    2回答

    爲什麼我的MSVC12編譯器不喜歡這個? #include <new> class thing { public: thing() {} ~thing() {} static void operator delete(void* ptr) = delete; }; int main() { int g; void* p = &g;

    0熱度

    1回答

    (對不起,我的英文,我是烏克蘭語)我在做一個程序,它實現了「數字堆棧」(控制檯應用程序)。刪除stac後,我會添加將清理動態內存的析構函數。當我做我的stac沒有析構 - all right,如果我加入析構 - 我有error。當應用程序結束時調用析構函數,但在程序調用第一個函數時出現錯誤。沒有析構函數,我沒有這個錯誤。這是我的源代碼,析構函數被註釋掉了。 #include<iostream>

    1熱度

    1回答

    我有類Egg,我有預定義的構造函數。這是我的經營者=和析構函數什麼樣子: Egg& Egg::operator=(const Egg& rhs) { if (this == &rhs) return *this; size = rhs.size; name = rhs.name; return *this; } Egg::~Egg()