0

次のようにコンテナーを反復処理できることを知っています。

for(double x : mycontainer) 

これは Python の

for x in mylist:

ただし、同じインデックスを持つ別のコンテナー内の要素にアクセスする必要がある場合があり、通常の for ループを作成する必要があります。Python では、別の方法として (2 つ以上のリストの場合):

for (x,y) in zip(xlist, ylist):

C++に似たようなものはありますか?

4

2 に答える 2

0

私が知っている最も近いアナログは、Boost のzip iteratorです。

典型的なケースでは、 とboost::make_zip_iterator一緒に使用するboost:make_tupleため、最終的には次のようになります。

boost::make_zip_iterator(boost:make_tuple(xlist.begin(), ylist.begin()))

と:

boost::make_zip_iterator(boost::make_tuple(xlist.end(), ylist.end()))

残念ながら、これは Python のバージョンよりもかなり冗長ですが、これが人生の場合もあります。

于 2013-11-07T04:55:00.897 に答える