回答編集履歴
3
微修正
answer
CHANGED
@@ -10,4 +10,4 @@
|
|
10
10
|
> 2つ目のrange-based forは危険でしょうか?
|
11
11
|
|
12
12
|
str_existの寿命はmain関数の終わりまであるので、危険ではないです。
|
13
|
-
for文の「コンテナを指定する式の一時オブジェクト」の寿命はその式が終わるまでですので、for文のループ・ブロックに入る前に破棄されます。
|
13
|
+
これに対して、for文の「コンテナを指定する式の一時オブジェクト」の寿命はその式が終わるまでですので、for文のループ・ブロックに入る前に破棄されます。
|
2
追記
answer
CHANGED
@@ -5,4 +5,9 @@
|
|
5
5
|
|
6
6
|
従って、[ここで回答した](https://teratail.com/questions/229768#reply-335383)のと同じ原理で破棄されてしまうということのようです。
|
7
7
|
|
8
|
-
[wandboxで実験](https://wandbox.org/permlink/dp9bboaQMMevHqwH)のコードの前者は上記質問のNG1と同じ原理です。
|
8
|
+
[wandboxで実験](https://wandbox.org/permlink/dp9bboaQMMevHqwH)のコードの前者は上記質問のNG1と同じ原理です。
|
9
|
+
|
10
|
+
> 2つ目のrange-based forは危険でしょうか?
|
11
|
+
|
12
|
+
str_existの寿命はmain関数の終わりまであるので、危険ではないです。
|
13
|
+
for文の「コンテナを指定する式の一時オブジェクト」の寿命はその式が終わるまでですので、for文のループ・ブロックに入る前に破棄されます。
|
1
補足
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
こんにちは。
|
2
2
|
|
3
3
|
私もあれ?っと思ったのですが、どうも範囲ベースforのコンテナへの参照は右辺値参照で参照されるからのようです。
|
4
|
-
[範囲for文](https://cpprefjp.github.io/lang/cpp11/range_based_for.html)に記載されていました。
|
4
|
+
この旨のコードが[範囲for文](https://cpprefjp.github.io/lang/cpp11/range_based_for.html)に記載されていました。
|
5
5
|
|
6
6
|
従って、[ここで回答した](https://teratail.com/questions/229768#reply-335383)のと同じ原理で破棄されてしまうということのようです。
|
7
7
|
|