rule-of-three

    1熱度

    3回答

    我正在寫一個C++應用,其中我有一個Controller類具有兩個嵌套的結構,在我的頭文件中定義如下: class Controller { struct help_message { // controller.hpp, line 19 std::string summary; std::string details; help_message(co

    -1熱度

    1回答

    規則三。複製構造函數,賦值運算符執行 #include <iostream> using namespace std; class IntPart { public: IntPart(); // default constructor IntPart(int n); private: unsigned int* Counts; unsigned int numParts;

    3熱度

    5回答

    我最近讀,Rule of three,我想知道我是否違反了它? 在我的GUI應用程序,類,如MainFrame,Interface,Circuit,Breadboard等(類名指示)有他們每個人的單個實例。在他們的構造函數中,我已經分配了一些資源(內存),我可以在它們的析構函數中安全地釋放它們。 所以我只定義了析構函數,但不拷貝構造函數和賦值運算符。 我確定我不需要它們,但是我很好奇如果我違反規則

    0熱度

    1回答

    我在使用動態數組重載=運算符時遇到了問題。這是我迄今爲止所擁有的。此外,我知道我還沒有寫我的析構函數或構造函數,但我需要把重點放在該運營商第一次: 在我的頭文件: #ifndef fasdf_dynn_h #define fasdf_dynn_h #include <iostream> #include <fstream> #include<string> #include <cstd

    0熱度

    1回答

    我的類NRRanNormal表示正態分佈的隨機變量。默認情況下,實例通常以均值0和標準1(即標準正態隨機變量)分佈。 有時當我複製NRRanNormal對象時,複製到(或通過複製構造函數構造的)對象的mean和stdev是亂碼和廢話。我很難找到造成這種瑕疵的原因。 出於測試目的,下面的函數顯示給定NRRanNormal對象的平均值和STDEV: void go(NRRanNormal& rv, c

    0熱度

    2回答

    我有一個包含大量數據的類,名爲HeavyData。這個類遵循三條規則(它具有 覆蓋了複製構造函數,複製賦值運算符和析構函數,以便能夠在複製類時正確地複製成員變量someBigAmountOfData ,並且能夠在不導致內存的情況下釋放該類泄漏)。 DataManager類有兩個類型爲HeavyData的成員變量。 (見下文) class HeavyData { public: Hea

    4熱度

    2回答

    我目前正在建立在砂基礎上的代碼庫。 在所謂的測試庫中有很多類違反了「3規則」。大多數聲明一個非平凡的析構函數,但缺少一個拷貝構造函數或賦值運算符。 是否有任何編譯器標誌(gcc)或靜態分析工具在類違反3的規則時發出警告? 目前我們使用Coverity和GCC版本4.4。

    0熱度

    1回答

    我試圖創建一個Actor指針指向另一個Actor對象,像這樣刪除: Actor other = Actor(); Actor* ptr = &other; 然後,當我嘗試delete ptr,它導致運行時錯誤: Program.exe has triggered a breakpoint 但是,當我創建一個新的Actor而不是分配給ptr的other參考,我可以放心地delete它沒有任何錯

    -1熱度

    2回答

    由於缺少析構函數,我最近有一些錯誤(bad_alloc)。 我現在有兩個班,這樣設置: class ObjOne { friend class ObjTwo; public: //constructors and some other random methods ObjOne(int n) { } ObjOne() { } private

    3熱度

    1回答

    爲了我的理解,五規則是一個引導規則。儘管如此,我已經看到編譯器在某些情況下可能會隱式地刪除函數。例如,定義移動對象時,複製指定/複製對象將被刪除。 我想知道是否有更多的情況下提到。換句話說,用戶定義的函數在哪些場景中可以隱式地刪除其他函數? 感謝 編輯: 到覆蓋的主題將是沒關係的一些源的參考!