と の 2 つのタイプがあるClass1
としClass2
ます。次に、2 つのベクトルを作成します。
vector<Class1> vec1;
vector<Class2> vec2;
//create vec1 and vec2, such that both have the same number of elements
for (vector<Class1>::size_type i=0; i!=vec1.size(); ++i) {
c1 = vec1[i];
c2 = vec2[i]; //BAD?
//do something
}
あなたはおそらく絵を手に入れます。size_type
この場合、 forvector<Class2>
が for と同じであることに依存するのは悪いことではありませんvector<Class1>
か?
これらの場合、異なるタイプのオブジェクトを含む 2 つの同じサイズのベクトルがあるにもかかわらず、それらの両方をループすることを保証するのに十分な関連性がある場合、この問題をどのように解決できますか?
問題が発生するほど大きな整数に到達する可能性は低いことはわかっていますが、それでも、優れた堅牢な C++ コードを書きたいと思っています。多分私は両方を見てsize_type
、それらの最小を取るべきですか?それは行く方法ですか?私には奇妙な習慣のように聞こえます。