2012-08-15 60 views
1

我常來accros下面的結構,我在D2的源代碼還是不太懂:申請的慣用D2的解釋構造

alias uint SymbolRef; 

struct SymbolTable { 
    alias entries this; 
    SymbolRef startSymbol; 
    Symbol[] entries; 
} 

是什麼暗示的類型定義裏面的alias entries this;鑑於有已經是Symbol[] entries;

回答

4

Official docs

簡而言之:別名這結構是實現多繼承的D的方式。在你的例子中,結構SymbolTable的行爲與Symbol []類似,只是增加了一些額外的東西。它可以隱式轉換爲Symbol []。

不過,我經常聽到的別名這在當前編譯器實現被認爲是越野車更復雜的使用,所以最好是在這裏小心,並準備bug報告;)

的「的d相關章節編程語言「是」6.13多重子類型