c++

stol与自定义类型转换的结合

小樊
82
2024-08-06 20:48:10
栏目: 编程语言

在 Rust 中,可以通过实现 From trait 和 Into trait 来实现 stol 与自定义类型之间的转换。

首先,让我们定义一个自定义类型 MyType

struct MyType {
    value: i32,
}

impl MyType {
    fn new(value: i32) -> MyType {
        MyType { value }
    }
}

然后,让我们实现 From trait 和 Into trait 来实现 stol 到 MyType 的转换:

impl From<i32> for MyType {
    fn from(value: i32) -> Self {
        MyType::new(value)
    }
}

impl Into<i32> for MyType {
    fn into(self) -> i32 {
        self.value
    }
}

现在,我们就可以将一个 i32 类型的值转换为 MyType 类型的值:

let my_type: MyType = 42.into();

同样地,我们也可以将一个 MyType 类型的值转换为 i32 类型的值:

let value: i32 = my_type.into();

通过实现 From trait 和 Into trait,我们可以很方便地进行 stol 与自定义类型之间的转换,使代码更加灵活和可读。

0
看了该问题的人还看了