【发布时间】:2019-06-07 09:16:32
【问题描述】:
D编程语言中cast(T)x和to!T(x)有什么区别? (前提是模块std.conv被导入)
【问题讨论】:
标签: casting type-conversion d
D编程语言中cast(T)x和to!T(x)有什么区别? (前提是模块std.conv被导入)
【问题讨论】:
标签: casting type-conversion d
cast(T)x 进行了语言保证的几种类型的转换。其中包括:
alias this 转换,否则不会强制进行const 和shared 附近
to!T(x) 进行许多其他转换,最明显的是与字符串之间的转换。
【讨论】:
to 始终是 @safe,因为如果演员表不安全(例如从不可变到可变),它会复制,所以如果你不这样做,请使用 to不想要动态转换,而只是类型之间的转换。