Функция swap
Функция swap обменивает значения двух переменных.
Она принимает два изменяемых параметра и меняет их
значения местами. Функция находится в модуле
std::mem и является безопасной, несмотря на то,
что работает с сырой памятью внутри.
Синтаксис
std::mem::swap(a, b)
Пример
Давайте обменяем значения двух чисел:
fn main()
{
let mut a = 1;
let mut b = 2;
std::mem::swap(&mut a, &mut b);
println!("{}", a);
println!("{}", b);
}
Результат выполнения кода:
2
1
Пример
Давайте обменяем значения двух строк:
fn main()
{
let mut a = String::from("abcde");
let mut b = String::from("12345");
std::mem::swap(&mut a, &mut b);
println!("{}", a);
println!("{}", b);
}
Результат выполнения кода:
"12345"
"abcde"
Пример
Давайте обменяем элементы вектора:
fn main()
{
let mut v = vec![1, 2, 3, 4, 5];
std::mem::swap(&mut v[0], &mut v[4]);
println!("{:?}", v);
}
Результат выполнения кода:
[5, 2, 3, 4, 1]