d2

    3熱度

    1回答

    根據documentation,__traits(hasMember,...)應該適用於任何具有成員的類型,但是我無法獲得將它用於類進行編譯的代碼。觀察下面的片段: struct A { int foo; } static assert(__traits(hasMember, A, "foo")); 這編譯(雖然它不會因爲沒有主鏈接)。但是,如果我將「struct A」更改爲「

    7熱度

    3回答

    做這些運營商做d 2.0: <>= !<>= !<= !>=

    8熱度

    2回答

    在瞭解了shared variables are currently not guarded by memory barriers的難題之後,我現在遇到了另一個問題。無論是我做錯了什麼,或者dmd中的現有編譯器優化都可以通過重新排序shared變量的讀取來打破多線程代碼。 作爲一個例子,當我編譯dmd -O(完全優化)可執行文件,編譯器愉快地優化遠局部變量o在此代碼(其中cas是從core.ato

    11熱度

    1回答

    這僅僅是我,還是在火衛二沒有二進制搜索功能?我有一個預先分類的數組,我想用自己的比較函數進行搜索,但是我在std.algorithms或std.containers中找不到任何東西。 謝謝!

    2熱度

    2回答

    比方說,我有一個類,像這樣: class Gerbil{ int id; float x,y,z; } 讓我們進一步說,這是一個實時仿真,我有一臺服務器/客戶端的設置和我的一部分在服務器端更改屬性: //... gerbil.x = 9.0; //... 現在我想將此更改發送到客戶端以同步世界狀態。然而,問題是我有可能大量的沙鼠,而且這些沙鼠也可能具有很長的特性列

    8熱度

    1回答

    如何使用std.typecons.RefCounted!(T),以使d引用計數的對象? 我試圖找出什麼std.array.Array在內部通過查看源代碼,但雖然我可以讀取源,但我不能確定什麼是「有效載荷」或它是如何工作的涉及的按位結構複製,以及爲什麼有些東西在內部和外部結構中是重複的。 誰能提供一個例子或如何使用它,比方說,包裝一個簡單的Win32 HANDLE鏈接? 謝謝!

    6熱度

    1回答

    如何在編譯時尚未知道數組的維數?例如:byte [] [] a = new byte [size] [size];例如:byte [] [] []編譯器不允許它。 我該如何初始化網格?手動? byte[] a1; for (int i; i < size; i++) { a1 ~= 0; } byte[][] a2; for (int i; i < size; i++) {

    13熱度

    2回答

    是什麼在d 2.0 enum i = 2; enum s = "Hello"; 和 immutable i = 2; immutable s = "Hello"; 的區別一成不變?

    12熱度

    4回答

    我剛開始使用D2編程語言。我喜歡單元測試是語言本身的一部分,但我似乎無法找到任何模擬對象庫。那裏有標準的嗎?

    8熱度

    2回答

    當不是static上下文(即,當static關鍵字是不存在的,你在全球範圍內不是),有什麼做內部使用的shared和__gshared關鍵字呢? 例子: struct Temp { shared int i; __gshared int j; }