[Rust笔记] 我也浅谈【泛型参数】的【晚·绑定late bound】

本文探讨了Rust中泛型参数的晚绑定概念,解释了泛型参数的早绑定与晚绑定的区别,强调晚绑定仅在调用阶段确定,不支持显式指定,并介绍了编译器如何推断绑定值。文章总结了泛型参数绑定的通用规则,帮助读者理解这一抽象编译时概念。
摘要由CSDN通过智能技术生成

我也浅谈【泛型参数】的【晚·绑定late bound

名词解释

为了减少对正文内容理解的歧义,我们先统一若干术语的名词解释:

  • 泛型项:

    • 要么,泛型函数generic function

    • 要么,泛型类型generic type(比如,泛型结构体)。

  • 泛型参数:

    • 要么,泛型·类型·参数generic type parameter

    • 要么,泛型·生命周期·参数generic lifetime parameter

  • 泛型参数限定条件:

    见下图吧,实在不容易文字描述

  • 63356e87be394639b80e9be77ee36835.png

    • 要么,trait bounds

    • 要么,lifetime bounds

  • 高阶·生命周期·限定条件higher-ranked lifetime bounds

    ad8331e24e477a15d4a83bccf875f033.png

    • 语法:for<'a>

    • 功能:描述【高阶函数】内【闭包】类型【形参 / 返回值】里【形参 / 返回值】的生命周期。文字描述得绕儿,直接看下图吧,一图抵千词。

  • FSTFixed Size Type

【泛型参数】的【绑定】是【编译时】概念

首先,无论是【早·绑定】还是【晚·绑定】,【泛型参数-绑定】都是发生在编译阶段,而不是运行期间。

  • 只不过【泛型参数·早·绑定】是发生在【单态化monomorphize

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值