assignment-operator

    0熱度

    1回答

    有速記運營商爲基本的算術運算符,如: x = x+2; x += 2; 或 y = y*2; y *= 2; 不過,我想知道是否有任何這樣的操作可能簡單地反轉布爾值的值。 例如,假設z = true,有沒有短相當於: z = !z; 我知道它不能只是!z,因爲那將只是返回的z相反的價值,但它止跌」不會改變它的價值。 我知道我很懶惰,但我在代碼中使用了很多,並試圖儘可能優化它。我儘量

    -4熱度

    2回答

    所以我似乎無法找出爲什麼我泄漏內存,任何人都可以幫忙嗎?我已經實現了一個二叉搜索樹operator=: BinTree& BinTree::operator=(const BinTree &other) { if (other.root == NULL) root = NULL; else { copyHelper(root, other.r

    6熱度

    1回答

    的VisualStudio的2013編譯器處理下面的代碼就好了,但鏗鏘5.0和6.2給了我一個鏈接錯誤: #include <memory> using namespace::std; class IBase { public: virtual IBase& operator=(const IBase& other) = 0; }; class Base : virtu

    2熱度

    2回答

    我想知道是否可以同時分配變量並將其用作函數的參數。 例如: number = 10 print(number*=2) 與輸出是: >>>20 此外,如果這是重複: >>>40

    0熱度

    1回答

    作爲學校作業的一部分,我們必須創建一個抽象類並使用一個寄存器類來包含它們。抽象類有兩個下類。 喜歡動物>狗/貓 在這個任務中,我們必須做一個賦值操作符,但是在使用我所做的那個之後,程序出了問題。 我製作了兩個寄存器 r1; r2; 然後使用運營商 r2 = r1; ,並在程序退出時,它進入R1的destruktor,刪除它,到達R2,並得到「訪問衝突讀取位置」 我猜這是因爲運營商創建了一個從指針r

    1熱度

    1回答

    上調用賦值運算符我不知道這個代碼可以工作: struct my_array { int r[1000]; }; int main() { my_array foo, bar; foo = bar; } 因爲foo = bar通話將調用構造函數提供的類,它會懶洋洋地運用它的每一個成員operator=。但是數組沒有對operator=的實現,證明,這段代

    -7熱度

    2回答

    我有產生不同的輸出下面的兩段代碼: boolean a = false, b = false, c = false, d = false; if (a = false | (b = false) || (c = true) | (d = true)){ } System.out.println("if (a = false | (b = false) || (c = true) | (d

    0熱度

    2回答

    我寫下面的演示代碼來學習複製構造函數和賦值運算符。但有一點混淆。我被告知刪除賦值運算符中的指針並將新地址分配給data。不過,我只能讓我的代碼工作刪除該行。我以this頁爲參考,但它僅顯示int的示例,而不是int*。我怎麼解決這個問題? #include <iostream> #include <string> #include <vector> #include <random> #i

    2熱度

    2回答

    This article解釋了爲什麼我有一個警告,如果我用這樣的代碼: var htmlCollection = document.getElementsByClassName("class-name"), i = htmlCollection.length, htmlElement; // Because htmlCollection is Live, we use a

    0熱度

    1回答

    我寫了一個不可變類Coords,只有兩個成員 - const int x和const int y。但是,編譯器希望我編寫一個賦值運算符,從我所能收集的內容來看,它對於不可變類型是沒有意義的。這裏有一個例子: //location is a Coords* and Coords::DOWN is a static const Coords&. Coords& next = Coords(locat