destructor

    0熱度

    2回答

    我有一個問題。 考慮這個模板類 template<class T> class nodo{ public: T data; }; 讓我們假設,我不是重新定義析構函數。如果我們假設T = int,則標準析構函數將取消分配數據。但是如果T = int *會發生什麼?只是指針將被釋放或對象指向了?理論上只是指針。 如何取消分配指向的對象? 最後,我該如何編寫一個模板類的析構函數,該模

    0熱度

    1回答

    爲了簡化起見,讓我們說,我有內部 public class MyDisposeFinalize { ~MyDisposeFinalize() { var breakPoint = string.Empty; } } 析構函數中簡單的類定義在Main方法我首先創建MyDisposeFinalize類的實例,然後將null分配給我的實例並調用垃圾回收。

    0熱度

    1回答

    我寫在那裏我有一個變量初始化new在構造函數中的SystemC的一個模塊: SC_CTOR(MY_MODULE) { ... ... my_matrix = new unsigned char [a*b]; ... ... } 我如何可以聲明析構函數時,模擬結束,以釋放內存?

    -4熱度

    2回答

    以下代碼片段具有用戶定義的數據類型String。該類的對象存儲字符指針str(字符串的簡寫)和length。 #include<iostream> #include<cstring> using namespace std; class String { char* str; int length; public: String(){} //def

    0熱度

    1回答

    class A { .... }; class B: public A { int x; ... }; class C: public A{ A * ptr; ..... }; class D : public A { A* ptr1; A* ptr2; .... }; 注:我提出的所有構造函數B,C,d只是不包括他們在那裏。 所以A(沒有字段)是超類,我有

    8熱度

    2回答

    我想知道標準對下面的代碼片段所說的內容。在致電printPointer之前,是否可以執行臨時對象的析構函數string? p.s. VS2010編譯器不會抱怨這段代碼並且工作正常。 void printPointer(const string* pointer) { cout << *pointer << endl; } const string* func(const stri

    0熱度

    3回答

    比方說,我創建一個對象: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CreateObjOnobj { class Program { static void Main(string[] args) {

    0熱度

    2回答

    爲什麼std::mutex::unlock()不是noexept?由於某些原因,當不擁有互斥鎖的線程在其上調用unlock()時,標準會使行爲不確定。這樣做的理由是什麼?這不會導致std::unique_lock或std::lock_guard析構函數在函數拋出時意外地在析構函數中泄漏異常嗎? 注析構函數拋出 - https://akrzemi1.wordpress.com/2011/09/21/

    0熱度

    2回答

    我想要下面的代碼創建5個類「test」的對象,每次創建時調用構造函數,將它們存儲在一個向量中,打印「lalalala」一次,然後運行析構函數並銷燬創建的對象。我希望析構函數爲我創建的每個對象運行一次,但不要超過一次。 我認爲在下面的例子中,C++創建了多個不需要的對象的副本,否則它會調用析構函數多次。我不確定。試過海灣合作委員會和鏗鏘沒有區別。嘗試堆棧和堆分配,以及std :: move。所有產生

    1熱度

    1回答

    當我運行析構函數,我得到一個運行失敗,我不知道爲什麼這裏是我的樹頭 class ExpressionTree { private: ExpressionNode* root; public: ExpressionTree() : hashmap(100000), root(NULL) { }; virtual ~ExpressionT