D是否有'newtype'(如在Haskell中)。D有'newtype'嗎?
這是一個天真的問題,因爲我只是在瀏覽D,但Google沒有提供任何有用的東西。
在Haskell中,這是一種在編譯時使不同類型的相同事物不同的方式,但不會導致任何運行時性能損失。
例如你可以製作米,秒和千克的新類型(雙打)。如果您的程序以秒爲單位將數量以米爲單位添加到數量,那麼在編譯時會出錯,但在運行時會像運行時一樣快(如果兩者都是雙精度的)。
如果D沒有類似'newtype'的東西,那麼處理維數量的可接受方法是什麼?
謝謝,
Chris。
具有合適的運算符重載的薄包裝類可能會完成工作並得到優化。但這只是一個猜測和一個非常醜陋的解決方案。 – delnan 2010-08-26 15:45:19
@delnan:在D中,你可能會使用一個結構,而不是一個類。 – dsimcha 2010-08-26 18:03:32
有一刻我想:「新型?......就像在高達????」 XD – Klaim 2010-09-06 19:09:32