2011-01-25 8 views

答えて

3

あなたはこれを行うことができますが、最初にペアクラスのためにあなた自身のoperator >>を書く必要があります。この演算子は、上記の呼び出しの全体の秘密です。実際の実装は、intのペアの形式に依存します。

+0

:本当に?ニース!私はこれが.push_backか何かを使うと思った。 +1 –

+0

作業コードの例を教えてください。多くのありがとう –

+1

@江李:トリビアル。 'template istream&operator >>(istream&in、対&val){>> val.first >> val.secondに戻る; } ' – ephemient

4

boost::zip_iteratorを使用することができた。

copy(boost::make_zip_iterator(
     boost::make_tuple(istream_iterator<int>(cin), 
          istream_iterator<int>(cin)), 
    boost::make_zip_iterator(
     boost::make_tuple(istream_iterator<int>(), 
          istream_iterator<int>()), 
    back_inserter(v)); 
+0

うわー... C++のような低レベル言語が最初に私がこのコンセプトに遭遇したのは面白いです... –

+0

+1今日、私は新しいクールなC++ライブラリについて学びました。 – wilhelmtell

+0

@Pavel:C++は低レベルなので、可能性があります。それは通常あなたがどこを見ているのかわからない:)一方、 'zip'はかなりよく知られています、特に関数型プログラミングです。 –

関連する問題