次のベクトルがあります。
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 をどのように機能させることができるか疑問に思っています。