Storing value of a pointer in another pointer in Rust中,建议您可以在Rust中的原始指针中修改值,而无需将其转换为引用(添加了强调):



如何才能做到这一点?

它是否违反了可变的别名规则,如果不违反,为什么不这样做呢?

最佳答案

您可以通过取消引用并直接将其存储到原始指针中来写入值:

unsafe fn example(ptr: *mut u8) {
    *ptr = 42;
}

fn main() {
    let mut a = 0;
    unsafe { example(&mut a); }
    println!("{}", a);
}

关于rust - 如何在不将其转换为引用的情况下修改原始指针中的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49163824/

10-11 18:34