相关疑难解决方法(0)

Rust是否释放了被覆盖变量的记忆?

我在Rust书中看到,您可以使用相同的名称定义两个不同的变量:

let hello = "Hello";
let hello = "Goodbye";

println!("My variable hello contains: {}", hello);
Run Code Online (Sandbox Code Playgroud)

打印出:

My variable hello contains: Goodbye
Run Code Online (Sandbox Code Playgroud)

第一次打招呼怎么了?它被释放了吗?我怎么能访问它?

我知道将两个变量命名为相同会很糟糕,但如果这种情况偶然发生,因为我将其声明为100行以下,这可能是一个真正的痛苦.

memory-management rust

14
推荐指数
2
解决办法
1216
查看次数

阴影变量绑定的资源是否立即释放?

根据Rust的书,"当一个绑定超出范围时,它们被绑定的资源被释放".这也适用于阴影吗?

例:

fn foo() {
    let v = vec![1, 2, 3];
    // ... Some stuff
    let v = vec![4, 5, 6]; // Is the above vector freed here?
    // ... More stuff
} // Or here?
Run Code Online (Sandbox Code Playgroud)

rust

1
推荐指数
1
解决办法
81
查看次数

Rust中赋值的含义是什么?

如果在创建绑定时使用自动类型推导,如何知道绑定的类型?如果右侧的表达式是借位(如let x = &5;),它将是值还是借位呢?如果我重新分配借入或价值会怎样?

仅作支票,如果我使用let mut x: &mut T = &mut T{};let mut x:&T = & T{};,我可以重新分配借贷,对吗?

rust

0
推荐指数
1
解决办法
479
查看次数

标签 统计

rust ×3

memory-management ×1