gpt4 book ai didi

rust - 将 `&str` 附加到 `String` 的最有效方法是什么?

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

前置 &str 的最有效方法是什么?到 String ?现在我正在分配一个新的 String并插入它:

fn push_front(s: String, prefix: &str) -> String {
let prefix = prefix.to_owned();
prefix.push_str(&s);
prefix
}
有没有更有效的方法?我没有看到 String::push_front标准库中的函数。

最佳答案

您可以使用 String::insert_str :

s.insert_str(0, prefix);
而不是分配一个新的 String和(可能)为推送分配, insert_str在底层向量中保留容量并移动 s 的元素向右。如果 String已经有足够的容量供 prefix 使用,它完全避免了分配。这意味着它最多只需要一个分配,而不是两个。

关于rust - 将 `&str` 附加到 `String` 的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66019956/

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