3

2 つのベクトルがあるとします。

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;

これを行うクラスをコーディングすることはできますが、そのコードはどこかのライブラリに既に存在しているようです。これが事実であるかどうか誰かが知っていますか?

あるいは、これを行う狡猾な方法を思いつきますか?

4

1 に答える 1