質問するログイン新規登録

回答編集履歴

1

追記

2021/08/19 18:27

投稿

kazuma-s
kazuma-s

スコア8222

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
  ```