少し離れて古いメロンを払い落とそうとした後、C++に戻ります。
hasNext()
Java では、 Iterator は、 、 、next()
およびのメソッドを持つコンテナーへのインターフェースremove()
です。の存在は、通過するコンテナの制限の概念を持っているhasNext()
ことを意味します。
//with an Iterator
Iterator<String> iter = trees.iterator();
while (iter.hasNext())
{
System.out.println(iter.next());
}
C++ 標準テンプレート ライブラリでは、イテレータはサポートするデータ型またはクラスを表しているように見えますが、制限の概念が組み込まれていないoperator++
ためoperator==
、次の項目に進む前に比較が必要です。通常の場合、2 番目のイテレーターがコンテナーの終了である場合、2 つのイテレーターを比較するユーザーが制限をチェックする必要があります。
vector<int> vec;
vector<int>::iterator iter;
// Add some elements to vector
v.push_back(1);
v.push_back(4);
v.push_back(8);
for (iter= v.begin(); iter != v.end(); iter++)
{
cout << *i << " "; //Should output 1 4 8
}
ここで興味深いのは、C++ ではポインターが配列への反復子であることです。STL は既存のものを採用し、その周りに慣例を構築しました。
私が見逃しているこれ以上の微妙な点はありますか?