17、Rust 编程:常量泛型、不安全代码与外部 crate 探索

Rust 编程:常量泛型、不安全代码与外部 crate 探索

1. 常量泛型

在 Rust 中,我们之前已经了解了两种泛型参数:类型泛型和生命周期泛型。现在,我们迎来了第三种泛型参数——常量泛型。

1.1 泛型回顾

  • 类型泛型 :这是我们最熟悉的泛型,例如 T: Debug 表示任何实现了 Debug 特性的类型。当 Rust 用户提及泛型时,通常指的就是类型泛型。
  • 生命周期泛型 :生命周期也是一种泛型。例如,函数中使用 'static 生命周期,表示任何具有 'static 生命周期的类型。

1.2 常量泛型的引入

在 2021 年,Rust 引入了常量泛型。在此之前,处理数组时存在一些痛点。因为数组的类型不仅取决于元素类型,还取决于元素数量,所以 [i32; 3] [i32; 4] 是不同的类型。这使得在处理不同大小的数组时变得复杂。

例如,定义一个包含两个数组的结构体:

struct Buffers {
    array_one: [u8; 640],
    array_two: [u8; 640]
}

如果我们需要更大的缓冲区,比如 1280 字节,就需要定义一个新的结构体:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值