Здравствуйте.
Есть простенький код:
#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <conio.h>
using namespace std;
class MyStream:public ostringstream
{
public:
MyStream(){}
~MyStream()
{
cout<<str().c_str()<<endl;
}
};
MyStream Prot()
{
return MyStream();
}
int main()
{
Prot()<<-1;
Prot()<<5;
Prot()<<5.5;
Prot()<<'t';
Prot()<<"Test";
_getch();
return 0;
}
Объясните пожалуйста, почему на выходе получается
То есть, строки и символы выводятся некорректно. В чем причина и как это можно исправить?