在Rust中,可以使用&
符号来创建引用,这样可以在不移动变量的情况下传递盒引用。下面是一个示例代码:
fn print_box_reference(box_ref: &Box) {
println!("Box reference: {}", box_ref);
}
fn main() {
let my_box = Box::new(42);
print_box_reference(&my_box);
}
在这个示例中,print_box_reference
函数接受一个&Box
类型的参数,这表示它接受一个指向i32
类型的盒子的引用。在main
函数中,我们创建了一个my_box
变量并将其指定为一个包含整数42的盒子。然后,我们通过在参数前面加上&
来传递my_box
的引用给print_box_reference
函数。这样就可以在不移动my_box
的情况下将其引用传递给函数,并在函数中打印出了盒子的引用。
注意,由于使用了引用,函数print_box_reference
并没有获取my_box
的所有权,因此在函数调用之后,我们仍然可以在main
函数中继续使用my_box
。
上一篇:不移动列,显示行号