回答編集履歴

2

スコープの違いについて、補足

2016/03/13 19:11

投稿

Odacchi
Odacchi

スコア907

test CHANGED
@@ -14,9 +14,21 @@
14
14
 
15
15
  どちらの考え方も、プリミティブ型(int,double,booleanなど)と参照型(プリミティブ型以外のすべて)の違いを明確に理解されてないように思います。
16
16
 
17
+
18
+
17
19
  Listは参照型ですので、Iteratorに値をコピーしているわけではなく、今Listの何番目を参照しているかという情報を渡しています。
18
20
 
21
+
22
+
19
23
  また、IteratorはListを一通り舐めるための栞(しおり)のような役目を果たしています。
24
+
25
+ 今回の場合でいうと、栞が指し示す場所が"C"という文字列であったら、Listの要素を削除するという処理をしています。
26
+
27
+
28
+
29
+ たしかに、栞のスコープはListとは違いますが、栞が消えても、Listは残っているので、今回のような結果となります。
30
+
31
+
20
32
 
21
33
 
22
34
 

1

読みやすくするために修正

2016/03/13 19:11

投稿

Odacchi
Odacchi

スコア907

test CHANGED
@@ -3,6 +3,10 @@
3
3
 
4
4
 
5
5
  > カーソルの関係(要素が繰り上がる)でA,B,Eの3つが表示される
6
+
7
+
8
+
9
+  
6
10
 
7
11
  > スコープの関係(while文で使われているstrとfor文で使われているstrは別スコープ)でA~E全てが表示されるのではないか
8
12