以下のスニペットを試してみましたが、目的の出力が得られません。
#include<iostream>
#include<sstream>
using namespace std;
void MyPrint(ostream& stream)
{
cout<<stream.rdbuf()<< endl;
}
int main()
{
stringstream ss;
ss<<"hello there";
MyPrint(ss); //Prints fine
ostringstream oss;
oss<<"hello there";
MyPrint(oss); //Does not print anything
getchar();
}
と の唯一の違いはstringstream
、ostringstream
が方向を強制し、 よりも少し速いことですstringstream
。
私は何かを見逃していますか?
PS: 同様の質問が以前に投稿されましたが、回答が得られませんでした。