VS2010でcoutが抑制されていないことはよく知られている事実です(Stephan Lavavejによる投稿をここで参照してください)。以下のコードで、coutのバッファを使用してostream hexoutを構築できるのはなぜですか?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// Construct ostream hexout with cout's buffer and setup hexout to print hexadecimal numbers
ostream hexout(cout.rdbuf());
hexout.setf (ios::hex, ios::basefield);
hexout.setf (ios::showbase);
// Switch between decimal and hexadecimal output using the common buffer
hexout << "hexout: " << 32 << " ";
cout << "cout: " << 32 << " ";
hexout << "hexout: " << -1 << " " ;
cout << "cout: " << -1 << " ";
hexout << endl;
}