良い設計であるかどうかにかかわらず、私のメソッドは、使用されているデータ構造(入力引数によって決定される)に基づいて、定義(特にまたは)をmain()
満たすイテレーターを期待する必要がある変数を宣言します。メソッドをテンプレート化できないので、これをどのように達成しますか?BidirectionalIterator
list<>::iterator
vector::iterator
main()
たとえば、次の代わりに:
int main(int argc, const char* argv[]) {
vector<Person>::iterator iterator0;
list<Person>::iterator iterator1);
multimap<string, Person>::iterator iterator2;
}
そこにあるすべてのイテレータはの要件を満たしているのでBidirectionalIterator
、次のことを実行します。
int main(int argc, const char* argv[]) {
bidirectionaliterator iterator0;
}
次に、プログラムがifステートメントで使用しているデータ構造の種類を継続的にチェックして、イテレーターを格納し、必要なイテレーターを使用する必要はありません。