d

    9熱度

    2回答

    D是否有'newtype'(如在Haskell中)。 這是一個天真的問題,因爲我只是在瀏覽D,但Google沒有提供任何有用的東西。 在Haskell中,這是一種在編譯時使不同類型的相同事物不同的方式,但不會導致任何運行時性能損失。 例如你可以製作米,秒和千克的新類型(雙打)。如果您的程序以秒爲單位將數量以米爲單位添加到數量,那麼在編譯時會出錯,但在運行時會像運行時一樣快(如果兩者都是雙精度的)。

    11熱度

    2回答

    在D2編程語言中,使用異常處理的性能影響是什麼?特別是: 如果我沒有寫入異常處理代碼會怎麼樣? 如果我這樣做,但沒有例外拋出? 如果我這樣做,並拋出異常? 異常處理是否會導致錯過任何優化機會? 可以在許多(大多數?)C++實現中禁用異常處理嗎? 我知道幾乎所有的商業遊戲開發工作室都禁用C++中的異常處理,這是由於性能影響以及與正確處理異常相關的開發時間增加。我知道D讓後者不那麼痛苦,但是表演呢?

    11熱度

    2回答

    我安裝使用Windows Installer DMD(2.0?),我試圖編譯下面的程序: module tcpechoserver; import std.stdio; const int MAXPENDING = 5; int main(char[][] argv) { if(argv.length != 2){ writef("Usage: %s <port

    4熱度

    1回答

    我嘗試在D 2.0中安裝幾個db apis,但文檔通常缺少或完全缺失。 有人知道更多關於這個問題嗎?

    23熱度

    6回答

    想象一下,你有3個項目:HTML,.xls和PDF格式: 程序員 編譯 和至少3種類型的文件搜索引擎庫中的文本編輯器。 你有3種選擇: C++ 的Java 和C# 您也可以探索與D. 做那麼的另類,你可以請求更多的程序員:在這個任務中,D可以給我一個顯着的優勢:模塊化錯誤修復,團隊合作和機器效率?

    16熱度

    2回答

    爲什麼Phobos使用enum來定義常量?例如,在std.math: enum real E = 2.7182818284590452354L; 爲什麼不使用全球immutable?與immutable相比,enum有什麼優點/缺點?

    6熱度

    2回答

    我真的想進一步深入研究D,但缺乏良好的庫支持實際上阻礙了我。因此,我想爲我想要使用的現有C庫創建一些D綁定。我從來沒有做過任何綁定,但它也不太難。 我打算爲D2做這個(不是特別的D1,但如果它可能是兩個,甚至更好)。我正在使用DMD2編譯器。 什麼約定應該使用(我注意到版本聲明,別名和常規常量/函數定義)? 綁定到靜態庫(從而鏈接到)或動態庫之間會有什麼區別?綁定有任何區別嗎? 對於綁定靜態庫,D

    6熱度

    3回答

    我希望能夠定義一個接受接口的函數,但可以使用提供相同功能的委託或函數來實現。例如,在C++我可以寫類似: typedef std::function<int (float)> toInt; void fun(toInt dg) { ... } struct impl1 { int operator()(float x) { ... } }; int impl2(float

    10熱度

    2回答

    我目前正在學習D,我想知道的其中一件事是D是否有一種方法來複制JVM語言的代碼生成功能。 這裏是一個場景: 我有一個對象,我想根據那個對象給出它的名字及其所有的字段。在Java/Scala中,我可以使用反射,但假設速度是個問題。我可以使用一個字節碼生成庫來動態生成並編譯一個沒有反射的類。這個實現可以分解爲遍歷對象的字段並通過遞歸得到它的名字,並使用該信息動態生成直接訪問字段的Java(或字節碼)。

    1熱度

    1回答

    我具有被這樣定義的函數: typedef void (*logprintf_t)(const char* format, ...); logprintf_t logprintf void my_function() { logprintf = cast(logprintf_t)0x12345; } ,它會導致應用程序退出。但是,如果我做了logprintf是靜態的(我在什麼