回答編集履歴
1
追記
answer
CHANGED
@@ -42,4 +42,30 @@
|
|
42
42
|
it_b = b.begin(); // 先頭要素を指すイテレータを取得
|
43
43
|
cout << *it_b << endl;
|
44
44
|
}
|
45
|
+
```
|
46
|
+
**追記**
|
47
|
+
イテレータは、複数の要素を順番に参照するためのポインタのようなもの、と言った
|
48
|
+
のに、1つの要素しか持たない vector の例を出してしまって申し訳ありません。
|
49
|
+
|
50
|
+
vector 以外に list や string も iterator を持っています。
|
51
|
+
どの iterator かを示すために string::iterator のように書きます。
|
52
|
+
そう書くのは、iterator というクラスが string の中で定義されているからです。
|
53
|
+
|
54
|
+
次のコードは理解できますか?
|
55
|
+
```C++
|
56
|
+
#include <iostream>
|
57
|
+
#include <string>
|
58
|
+
using namespace std;
|
59
|
+
|
60
|
+
int main()
|
61
|
+
{
|
62
|
+
string s;
|
63
|
+
s.push_back('a');
|
64
|
+
s.push_back('b');
|
65
|
+
s.push_back('c');
|
66
|
+
cout << s.size() << ":";
|
67
|
+
for (string::iterator it = s.begin(); it != s.end(); ++it)
|
68
|
+
cout << " " << *it;
|
69
|
+
cout << endl;
|
70
|
+
}
|
45
71
|
```
|