STLコンテナの代わりに使用されているコンテナのイテレータを記述しています。現在、STLコンテナは、c++11 foreach syntaxなど多くの場所で使用されています(例:for(auto &x: C)
)。コードは次のように呼び出すことができているので、私はカスタムコンテナの正しいイテレータを使用するように自動取得するにはどうすればよいC++ 11 foreach構文とカスタムイテレータ
template< typename Type>
class SomeSortedContainer{
std::vector<typename Type> m_data; //we wish to iterate over this
//container implementation code
};
class SomeSortedContainerIterator{
//iterator code
};
:我々は、STLコンテナをラップするカスタムクラスを使用するコードを更新する必要がありました方法:?
SomeSortedContainer C;
for(auto &x : C){
//do something with x...
}
一般的に、クラスに正しいイテレータを使用するために必要なものは何ですか?
Visual Studioを使用している場合は、変数の名前の上にマウスを置くと、そのタイプが表示されます。 IIRCでは、 'auto'ではなく、実際のタイプを表示します。 –