요청

2012-08-15 4 views
1

내가 자주는 D2의 소스 코드를 꽤 이해를 수행 구조 accros 온 구성 : 주어진요청

alias uint SymbolRef; 

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

는 어떤 유형 정의 내부의 alias entries this;을 의미 않고있다 이미 Symbol[] entries;입니까? 한마디로

답변

4

Official docs

: 별명이 구조는 다중 구현 상속 D의 방법입니다. 귀하의 예제 구조체에서 SymbolTable은 Symbol []과 유사하게 동작해야하며 몇 가지 추가 작업이 필요합니다. 암시 적으로 Symbol []로 변환 될 수 있습니다.

그러나, 나는 종종 별칭 현재의 컴파일러 구현이 간주됩니다 버그의 더 복잡한 사용, 그래서 더 나은 여기에 신중하고 버그 리포트에 대한 준비를 들었습니다; 는 D "의)

관련 장 프로그래밍 언어 "은""입니다. 6.13 다중 서브 타이핑"