gpt4 book ai didi

rust - 为[u32; N]?

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

我有一个要实现.clone_from()的结构,以重用堆栈分配。该结构相对简单(除Copy之外,其中的所有类型均为[u32; N])。我可以盲目地在a.clone_from(&b)上调用a : [u32; N],但是在标准库中此类型的.clone_from()实现可能不是很好,并且这将计算let a = b.clone(),并且不会重用堆栈分配。
因此,我想亲自研究一下数组的Clone实现,但是在夜间文档中很难找到它。我看过:

  • clone doc pageclone source。我在这两个地方都看不到impl <const N : usize> Clone for [T; N]
  • array (primitive type)array source,在这里我再也看不到任何实现。

  • 那么在哪里实现呢?如何检查调用 a.clone_from(&b)是否可以重用我的分配?

    最佳答案

    实现Copy的类型的固定大小的数组(例如u32)会自动实现Copy,因此可以按位有效地对其进行复制,请参阅array (primitive type) documentation

    关于rust - 为[u32; N]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66288816/

    24 4 0