destructor

    0熱度

    2回答

    我在多圖中使用對象作爲關鍵字,如下所示。我只有一個類數據實例:Data d1(1,2)。 #include <iostream> #include <string> #include <map> using namespace std; class Data{ public: static int counter; Data(int x = 0, in

    0熱度

    2回答

    在爲例第一靜態斷言以下燃煤而不是第二: #include<type_traits> struct A{ protected: ~A()=default; }; struct B:A{ //this static assertion fails static_assert(std::is_trivially_destructible<A>::value,"");

    2熱度

    1回答

    我可以專注析構函數的一個案例,但我無法告訴編譯器只使用任何其他情況下,一個正常的析構函數: #include <iostream> template <int = 0> struct Foo { ~Foo(); }; int main() { { Foo<> a; // Normal destructor called } {

    0熱度

    1回答

    This看起來類似於我所在的位置以及this問題。 考慮以下 template<typename T> class A { private: class B { private: B* link; public: B(); ~B(); }; B* head; public:

    3熱度

    1回答

    爲以下包裝類跟上std::unique_ptr中間對象來訪問me成員而不復制me的「OK」的方式? 下面是示例 #include <iostream> #include <memory> /* myobj from another library */ class myobj { public: std::string me; /* actual member of inter

    0熱度

    1回答

    所以這裏的東西..我有一個對象是負責創建另一個不同的對象,這個創建的對象可以被銷燬或不(取決於用戶)。技巧部分是再次調用「創建者」對象,如果另一個對象沒有被刪除,這個類不能再次創建這個對象,但是如果另一個對象被刪除了,這個類需要重新創建並且循環繼續。 我試過2個解決方案: 全局變量作爲「旗」,它工作正常,但我烤全球變量使用; 第二個是使析構函數返回一個值給這個標誌,但我不能從析構函數返回。 你知道

    3熱度

    1回答

    我有一個帶有指向整數的指針的類。 然後一個靜態函數將返回該整數的值。 我注意到當調用靜態函數時,每次都會爲該對象調用析構函數。 我不明白爲什麼會發生這種行爲。 class Dog { public: Dog(int val){ this->pVal = new int(val); } ~Dog(){ delete this->pVal; } static int GetVa

    0熱度

    2回答

    我正在爲一個CS項目的矩陣類工作,我試圖在構造函數上工作。該項目調用兩個不同的構造函數,一個調用行數和列數,並使其全部爲0,另一個使用初始化程序列表分配值。頭文件到目前爲止是: typedef unsigned int uint; typedef std::initializer_list<std::initializer_list<double>> i_list; class Matrix

    1熱度

    2回答

    可以說我有以下幾點: struct Foo { Foo() : bar([&]{ doSomething();}) std::function<void(void)> bar; void doSomething(){}; } 而且可以說,一個線程調用經常一個Foo實例的杆件,而另一個線程自毀foo的實例。因爲Foo的析構函數被首先調用,所以調用bar會導致無效

    1熱度

    4回答

    class box { public: double length; double breadth; double height; ~box() { cout<<"destructor executed "<<"\n"; } }; int main(){ box mybox; mybox.~box(); ret