假设我有两种类型,Class1
并且Class2
. 然后我创建两个向量:
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
for与 forvector<Class2>
相同不是很糟糕vector<Class1>
吗?
在这些情况下,如果您有两个包含不同类型对象的大小相同的向量,但它们的相关性足以保证循环遍历它们,那么如何解决这个问题?
我知道我不太可能达到足够高的整数来遇到问题,但是,我仍然想编写好的、健壮的 C++ 代码。也许我应该同时查看两个size_type
s 并取它们中的最小值?这是要走的路吗?对我来说,这听起来像是一种奇怪的做法。