File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed
Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -48,7 +48,7 @@ fn as_str(data: &u32) -> &str {
4848 let s = format!("{}", data);
4949
5050 // しまった! この関数内でしか存在しないオブジェクトへの
51- // リファレンスを返してしまった !
51+ // 参照を返してしまった !
5252 // ダングリングポインタだ! メモリ解放後の参照だ! うわーー!
5353 // (このコードは Rust ではコンパイルエラーになります)
5454 &s
@@ -86,14 +86,14 @@ because ensuring pointers are always valid is much more complicated than this.
8686For instance in this code,
8787-->
8888
89- もちろん、リファレンスが参照先のスコープから逃げ出していないことを検証することよりも
89+ もちろん、参照が参照先のスコープから逃げ出していないことを検証することよりも
9090所有権に関する Rust の話はもっともっと複雑です。
91- ポインタがつねに有効であることを証明するのは 、もっともっと複雑だからです。
91+ ポインタが常に有効であることを証明するのは 、もっともっと複雑だからです。
9292例えばこのコードを見てみましょう。
9393
9494``` rust,ignore
9595let mut data = vec![1, 2, 3];
96- // 内部データのリファレンスを取る
96+ // 内部データの参照を取る
9797let x = &data[0];
9898
9999// しまった! `push` によって `data` の格納先が再割り当てされてしまった。
@@ -114,4 +114,4 @@ referent and its owners.
114114単純なスコープ解析では、このバグは防げません。
115115` data ` のライフタイムは十分に長いからです。
116116問題は、その参照を保持している間に、参照先が* 変わって* しまったことです。
117- Rust でリファレンスを取ると 、参照先とその所有者がフリーズされるのは、こういう理由なのです。
117+ Rust で参照を取ると 、参照先とその所有者がフリーズされるのは、こういう理由なのです。
You can’t perform that action at this time.
0 commit comments