【发布时间】:2015-01-27 09:42:07
【问题描述】:
假设我在堆栈上有一些元组:
let a:(u8,u8,u8) = (1,2,3);
如何将切片创建为全部或部分?
【问题讨论】:
-
注意,我在下面部分回答了我自己的问题,但如果有人真的知道恰好是同构类型的元组的答案,我会接受他们的答案。
假设我在堆栈上有一些元组:
let a:(u8,u8,u8) = (1,2,3);
如何将切片创建为全部或部分?
【问题讨论】:
在大多数情况下,这样做没有意义。元组和相同大小的固定大小数组的主要区别在于元组支持异构元素,而数组包含相同类型的元素。切片是指向内存中连续的相同类型值数组的胖指针,因此虽然它们可能对某些元组有意义,但它们通常没有意义,因此元组不支持切片操作。
【讨论】:
【讨论】: