向量的元素在Rust中如何左移?

母鹿

有没有一种安全的方法可以在Rust中将向量的元素左移?当左移两个位置时vec![1, 2, 3]变为vec![3])。我正在处理Copy类型,并且我不想付出比使用更高的罚款memmove

我发现的唯一解决方案是不安全的:memmove直接通过来使用ptr::copy

史蒂夫·克拉伯尼克

我会用Vec::drain

您可以使用要删除的一系列元素来调用它,然后将其转移。范例:(playpen

fn main() {
    let mut v = vec![1, 2, 3];

    v.drain(0..2);

    assert_eq!(vec![3], v);
}

另一注:

我正在处理Copy类型,并且我不想付出比使用更高的罚款memmove

值得一提的是,在Rust中,移动始终是一个memcpy问题,因此这里的Copyvs无Copy区别无关紧要。如果类型不是,那将是相同的Copy

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rust中的链向量和IntoIterator元素

来自分类Dev

如何将Rust向量中的元素向右移动并将越界元素放在开始位置?

来自分类Dev

如何从可变向量中克隆最后一个元素,然后将值推入Rust中的向量?

来自分类Dev

如何在Rust中向向量的每个元素添加相同的整数?

来自分类Dev

在Rust中创建向量的向量

来自分类Dev

如何在Java中的向量中插入向量元素

来自分类Dev

Rust中的函数向量

来自分类Dev

如何从向量中删除重复的元素?

来自分类Dev

如何删除向量的特定元素中的空格?

来自分类Dev

如何从右到左查找向量中的元素

来自分类Dev

如何从向量中打印某些元素?

来自分类Dev

如何删除向量的特定元素中的空格?

来自分类Dev

如何修改向量中的元素?

来自分类Dev

如何修改向量中的struct元素?

来自分类Dev

如何获取嵌套向量中的元素类型?

来自分类Dev

如何对向量中的对元素进行排序?

来自分类Dev

如何从对象向量中删除元素?

来自分类Dev

如何计算向量中相等的相邻元素?

来自分类Dev

如何根据向量中的值替换元素?

来自分类Dev

如何检查向量中的空元素

来自分类Dev

如何修复从向量中擦除元素的错误?

来自分类Dev

如何在向量数组中插入元素?

来自分类Dev

C ++:如何在向量向量中打印所有元素

来自分类Dev

如何访问向量clojure的向量中的特定元素

来自分类Dev

C ++:如何在向量向量中打印所有元素

来自分类Dev

如何将数组中的所有元素向左移动?

来自分类Dev

如何在Rust中遍历结构的元素?

来自分类Dev

如何在Rust中遍历结构的元素?

来自分类Dev

如何在Rust中更改向量的长度?

Related 相关文章

热门标签

归档