gpt4 book ai didi

arrays - 不可复制类型的数组初始化

转载 作者:行者123 更新时间:2023-12-03 11:43:11 24 4
gpt4 key购买 nike

我希望能够做到这一点:

let mut my_array: [MyType; 10] = [MyType::new(1, 2, 3, 4); 10];

MyType不可复制,即我希望它为每个元素调用构造函数,而不是调用一次并尝试复制。这可能吗?

是否也可以在构造函数调用中包含数组索引:
let mut my_array: [MyType; 10] = [MyType::new(_index, 2, 3, 4); 10];

这样我的数组就被初始化为 MyType:new(1,2,3,4) , MyType:new(2,2,3,4) , MyType:new(3,2,3,4) , ETC。

最佳答案

array-init 库提供了一个安全的接口(interface)来做到这一点:

let mut my_array: [MyType; 10] = array_init(|i| MyType::new(i, 2, 3, 4));

关于arrays - 不可复制类型的数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61833263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com