mutable

    2熱度

    3回答

    我一直在玩deepcopy函數和複製函數,並且我得到了與它們相同的問題。這就像複製是一個引用(或指針)而不是正確的副本。我在Python與數據記錄(類)的工作,也許它可能是..我告訴你一個例子: >>> import copy >>> class player1: ... age = 23 ... score = 1 >>> class player2: ... age = 14 ..

    0熱度

    1回答

    如何將地圖轉換爲列表而不將地圖關鍵字包含在scala列表中? val mp = collection.mutable.Map[Long, String]() mp(0) = "val0" mp(1) = "val1" mp(2) = "val2" mp.toList //I want: List("val0", "val1", "val2")

    0熱度

    6回答

    我不知道這是否只是我,或者如果它的東西我應該知道,但如果我這樣做: Object a = 1; Object b = a; b = 2; 然後,是相同的值爲b。這是正常的行爲嗎?因爲我想複製變量,而不是引用它。 我之所以問的是我有一些像這樣的代碼: center = new Point(0.0f,1.0f,1.0f); returnPoint = center; ... return

    10熱度

    4回答

    什麼是正確的方式來處理(否則)常量函數,包括隨機生成器調用C++ 11的隨機類?如果你更願意放棄函數的常量標誌,還是最好將生成器和發佈聲明爲你的類的可變元素? 一個最小的實施例(未編譯)可能是: #include <random> class foo { std::mt19937 MyGenerator; std::normal_distribution<precisio

    0熱度

    3回答

    假設我創建了一個具有可變類參考地址的不可變類Employee。我們如何用場景創建不可變的類。 我只是指這個鏈接click here。我不明白這一點: 不要共享對可變對象的引用。切勿將引用 存儲到傳遞給構造函數的外部可變對象;如有必要, 創建副本,並存儲對副本的引用。同樣,必要時創建 內部可變對象的副本,以避免 在您的方法中返回原件。

    2熱度

    2回答

    F#中是否存在一些模擬?類似於 let f() = let mutable static a = 0 ... ?

    8熱度

    7回答

    基本上我有以下情況。注意:void*用於表示任意數據,它在實際應用程序中強類型化。 class A { public: //uses intermediate buffer but doesn't change outward behavior //intermediate buffer is expensive to fill void foo(void* in

    0熱度

    1回答

    對於一個任務,我必須在Haskell中編寫一個僞隨機數生成器。我不確定Haskell如何「記住」函數返回的最後一個值,因爲僞隨機數生成器的定義需要這樣做(序列中的下一個數字基於返回的最後一個數字)。 在命令式語言,我可以只保持一個全局變量或東西: int last_rand; int myRandom() { last_rand = (some operation on last_

    2熱度

    2回答

    我希望使用Data.Vector.Generic.Mutable.new創建一個可變的向量。我發現了通過融合純矢量來創建可變向量的例子,但這不是我想要做的。 這裏有許多失敗的嘗試之一: import Control.Monad.Primitive import qualified Data.Vector.Generic.Mutable as GM main = do v <- (G

    5熱度

    2回答

    我一直在閱讀大量關於Value Types & Reference Types的文獻以及它們的區別。這個問題圍繞易變性和不變性的價值類型的主題。 基於我所讀到的,似乎.NET中的值類型應該以這樣一種方式編寫,即它們是不可變的;也就是說,一旦它們被分配了一個值,內存中該類型的值永遠不會改變。只有該類型的後續副本可以基於原始值的新值構造內存中的新實例。 .NET中的可變性似乎是邪惡的。 澄清不可改變的