- 注册时间
- 2004-11-1
- 最后登录
- 2018-4-24
版主
- 积分
- 548
|
楼主 |
发表于 2007-11-17 18:58:16
|
显示全部楼层
就是用__traits吧,可以在编译期获得一些类型方面的信息。
TraitsExpression:
__traits ( TraitsKeyword , TraitsArguments )
TraitsKeyword:
isAbstractClass
isArithmetic
isAssociativeArray
isFinalClass
isFloating
isIntegral
isScalar
isStaticArray
isUnsigned
isVirtualFunction
isAbstractFunction
isFinalFunction
hasMember
getMember
getVirtualFunctions
classInstanceSize
allMembers
derivedMembers
isSame
compiles
TraitsArguments:
TraitsArgument
TraitsArgument , TraitsArguments
TraitsArgument:
AssignExpression
Type
http://www.digitalmars.com/d/traits.html
有例子。同样,没真正用过。别说这个功能,整个D2.0我都没有用过。[s:5]
和C不一样,D的switch可以直接用字符串,听别人说,在编译的时候,会把字符串自动排序,然后用二分法完成搜索的,所以效率还可以。我想,在D里面,应该不一定要像C一样弄出来那么多枚举来完成条件分岐吧。 |
|