0

次のベクトルがあります。

std::vector<std::pair<int,std::string>> songs;

std::copy を使用して、ベクター (int としましょう) から ostream に要素を渡したいのですが、次のようなもので、もちろん機能しません:

std::copy(songs.begin(),songs.end(),std::ostream_iterator<int>(std::cout,""));

私はこの方法でそれを行うことができることを知っています:

for(auto it=songs.begin(); it!=songs.end(); ++it)
    {
      std::cout << (*it).first;
    }

しかし、C++ でペアの要素の 1 つだけを指すイテレータを作成し、それを使用して要素を反復して ostream にコピーすることができるかどうか、または上記の std::copy をどのように機能させることができるか疑問に思っています。

4

1 に答える 1