在学习时rust
,我遇到了嵌入在线问题答案中的这段代码。我没想到这是正确的答案,因为我天真地认为elem_refs.sort()
会按向量中的引用而不是字符串进行排序。
为什么 elem_refs.sort() 对字符串进行排序,而不是对字符串的引用(或者更确切地说是&str
's)?显然,这很方便并且是期望的结果,但是这种行为记录在哪里?非常感谢您的见解。
fn main() {
let list = ["b", "d" , "q", "a", "t" ];
let mut elem_refs: Vec<&&str> = list.iter().collect();
println!("{:?}", elem_refs);
elem_refs.sort();
println!("{:?}", elem_refs);
}
["b", "d", "q", "a", "t"]
["a", "b", "d", "q", "t"]