たとえば、次のようなユーザー定義の複雑な構造体があるとします。
struct usrStruct{
double a;
T1 b;
T2 c;
/* and so on...*/
}
これは、std :: vector、std :: list、または反復可能なものの基本要素として使用されます。
std::vector<usrStruct>
イテレータを介して私の関数に渡されると言います
template<class InputIterator>
T myFoo( InputIterator first, InputIterator last ){ /*...*/ }.
Q : 、(この場合は) をオーバーライドして、メンバーと対話するだけの標準的な方法operator*()
はありますか ?InputIterator
std::vector<usrStruct>::iterator
myFoo
a
つまり、
*first == (*first).a;
したがって、 ?の定義全体に関して直交myFoo
して機能します。usrStruct
ありがとうございました。