Rust.cc Rust.cc -

编译器是如何检测这段代码错误的, 具体该怎么理解

fn main() { let mut v = vec![]; v.push(1); let v1 = &v[0]; v.push(2); println!("{}", v1); } 这种c++很经典的内存安全错误,始终没法理解编译器是如何检测的 v1的类型是&i32,为什么v1的借用会影响了v的借用

本文讨论了内存安全错误,即借用可能会影响原始变量。文章提出了一个问题,即为什么一个变量的借用会影响到另一个变量的借用。

借用 内存安全 变量 编译器

相关推荐 去reddit讨论