mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-03-14 19:30:29 +08:00
Update Ch15
This commit is contained in:
parent
ba0fc959e9
commit
c515cc21f2
@ -1093,7 +1093,7 @@ b 的下一条目 = Some(RefCell { value: Cons(5, RefCell { value: Nil }) })
|
||||
|
||||
*图 15-04:列表 `a` 和 `b` 相互指向的引用循环*
|
||||
|
||||
在取消注释掉其中最后一个 `println!` 而运行该程序时,Rust 就会尝试以 `a` 指向 `b` 指向 `a` 如此往复,打印出这个循环,直到他溢出内存栈为止。
|
||||
如果咱们取消对最后一个 `println!` 的注释并运行程序,Rust 会尝试打印这个循环,`a` 指向 `b` 指向 `a`,如此反复,直到程序溢出栈,overflows the stack。
|
||||
|
||||
相较于真实世界的程序,这个示例中创建出循环引用的那些后果并不算非常残酷:在这里创建出那个循环引用之后,这个程序就立马结束了。然而,在更为复杂的程序在某个循环中分配了大量内存,并在其上耗费较长时间时,那么这个程序就会用到相比于其所需要更多的内存,且可能会是系统不堪重负,造成系统耗尽可用内存。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user