casting - cast(T)x 和 to!T(x) 的区别
问题描述
D 编程语言cast(T)x
和有什么区别?to!T(x)
(前提是模块std.conv
已导入)
解决方案
cast(T)x
执行语言保证的几种类型的转换。这些包括:
- 运行时提供的类/接口类型之间的动态转换
- 数字类型转换,例如 double 到 short
- 数组类型转换,例如 int[] 到 ubyte[]
- 强制
alias this
转换,否则不会强制转换 - 仅类型系统转换,尤其是围绕
const
和shared
to!T(x)
进行许多其他转换,最显着的是与字符串之间的转换。
推荐阅读
- c# - 锚标记助手未生成正确的区域路线
- ios - 在 SwiftUI 中制作与父视图大小相同的形状
- java - 尝试使用基于密码的帐户使用 Firebase 进行身份验证
- javascript - 三元运算符第二部分不渲染 React JS
- cuda - 与在 CPU 上工作方式不同的 CUDA 操作
- dictionary - 使用 Leaflet 和 osm 绘制街道
- javascript - 如何在Javascript中创建一个div并将其放置在html模板的中间
- sql - 导出 SQL 查询疑难解答
- java - 显示正确对应 SQLite 数据库 Android/Java 的数据
- vba - 回到 DCOUNT 的基础