想象一下我有两个向量:
std::vector<int> A,B;
//Push a bunch of data into A
//Push a bunch of data into B
无论出于何种原因,我想为这些向量创建一个接口,如下所示:
packed combined(A,B);
for(packed::iterator i=combined.begin();i!=combined.end();++i)
*i+=1;
这将具有与以下相同的效果:
for(std::vector::iterator i=A.begin();i!=A.end();++i)
*i+=1;
for(std::vector::iterator i=B.begin();i!=B.end();++i)
*i+=1;
我可以编写一个类来执行此操作,但似乎该代码可能已经存在于某个库中。有谁知道是否是这种情况?
或者,你能想出一个巧妙的方法来做到这一点吗?