destruction

    0熱度

    1回答

    我需要將Fortran和C++混合在一起。我寫過C++類。我可以通過調用C++庫的extern「C」函數調用C++公共函數。 該函數創建此C++類的一些實例。當這個函數結束時,我想將這些實例保存在內存中,以便在之後調用它們。但是銷燬我的實例會自動調用。 我不想在Fortran中使用這些實例,而是在其他封裝的C++函數中使用它們。 我不能使用iso_c_binding或任何Fortran 2003函

    11熱度

    3回答

    考慮具有以下簽名的函數: (defn make-widget [& {:keys [x y] :or {x 10 y 20}}] ...) 什麼是傳遞一個地圖功能的最佳途徑,如: (make-widget {:x 100}) 或 (make-widget {:y 200 :x 0}) 我目前想到的是通過vec,flatten和apply例如: (apply make-widget (

    2熱度

    2回答

    我遇到了一個初始化命名空間中的一些const對象的問題。我有類似下面的命名空間: namespace myNamespace{ const std::string HI = "Hi"; const std::string BYE = "Bye"; inline std::vector<std::string> createHiAndByeVector(){

    0熱度

    1回答

    我的朋友和我有一個想法,我們可以做我們自己的Windows銷燬版本。除了我們不知道如何製作它,真正的電腦本身並沒有得到這些病毒。我們怎麼能做到這一點?

    1熱度

    1回答

    幫我理解這一點...請參閱粗體。從標準3.6.3終止(2) 2如果函數包含靜態或線程 存儲持續時間的塊範圍對象已被破壞並且該功能的對象的與銷燬過程中調用 靜態或線程存儲 持續時間,程序有未定義的行爲,如果流量控制 通過先前銷燬的塊顯示器 對象的定義。同樣,如果塊範圍對象 在其銷燬後間接使用(即通過指針),則行爲未定義。 Manager& GetManager() { static Ma

    10熱度

    2回答

    我知道向量元素破壞順序沒有用C++定義的標準(見Order of destruction of elements of an std::vector),我看到了,我檢查了所有的編譯器做到這一點的破壞,從開始到結束 - 這是相當令人驚訝的我,因爲動態和靜態數組做反向順序,而這種相反的順序在C++世界中經常出現。 要嚴格:我知道「集裝箱會員...可以構造和使用,例如以任意順序插入銷燬和擦除成員函數」,

    1熱度

    2回答

    我目前正在爲該主題編寫個人教育的編譯器前端,並且遇到了有關我通過運算符重載處理C++中的BNF定義的方式的問題。 目前我的設置如下: Rule.h: class Rule { public: ChainRule operator>>(Rule& right); OrRule operator|(Rule& right); KleeneRule operator*(

    0熱度

    3回答

    有沒有辦法在編譯時檢查窗體「A在B之前被破壞」的銷燬順序約束?

    0熱度

    1回答

    我一直在試圖找到一種更好的方法來完成確定某個特定對象是否已被銷燬(destroy(...))。我一直在做它的方式是像這樣: class C { bool valid = false; this(){ valid = true; } } 然後你做: C c = new C; c.valid.writeln // true destroy(c); c

    10熱度

    2回答

    不應該「這裏的」被打印之前臨時A(3)被破壞? #include <iostream> struct A { int a; A() { std::cout << "A()" << std::endl; } A(int a) : a(a) { std::cout << "A(" << a << ")" << std::endl; } ~A() { std: