回答編集履歴

1

追記

2021/08/19 18:27

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -87,3 +87,55 @@
87
87
  }
88
88
 
89
89
  ```
90
+
91
+ **追記**
92
+
93
+ イテレータは、複数の要素を順番に参照するためのポインタのようなもの、と言った
94
+
95
+ のに、1つの要素しか持たない vector の例を出してしまって申し訳ありません。
96
+
97
+
98
+
99
+ vector 以外に list や string も iterator を持っています。
100
+
101
+ どの iterator かを示すために string::iterator のように書きます。
102
+
103
+ そう書くのは、iterator というクラスが string の中で定義されているからです。
104
+
105
+
106
+
107
+ 次のコードは理解できますか?
108
+
109
+ ```C++
110
+
111
+ #include <iostream>
112
+
113
+ #include <string>
114
+
115
+ using namespace std;
116
+
117
+
118
+
119
+ int main()
120
+
121
+ {
122
+
123
+ string s;
124
+
125
+ s.push_back('a');
126
+
127
+ s.push_back('b');
128
+
129
+ s.push_back('c');
130
+
131
+ cout << s.size() << ":";
132
+
133
+ for (string::iterator it = s.begin(); it != s.end(); ++it)
134
+
135
+ cout << " " << *it;
136
+
137
+ cout << endl;
138
+
139
+ }
140
+
141
+ ```