我试图弄清楚Swift泛型是如何工作的。具体来说,我没有设法找到关于编译模型的精确陈述。在 C++ 中,泛型(模板)不是单独编译的,因为它们是为每个调用站点实例化的(至少在原则上是这样)。相反,Java 泛型是单独编译的。Swift 的情况如何,关于泛型的单独编译?
它是两者的结合,取决于优化器决定将获得更好的性能。他们在WWDC Session 404: Advanced Swift接近尾声时谈到了它。幻灯片说:
Swift 可以直接运行通用代码
优化器可以随意生成专用版本的通用代码
- 单独编译泛型
- 更快的编译
- 以代码大小换取速度的灵活性
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |