//Stream.hpp class StreamInitializer; class Stream { friend class StreamInitializer; public: Stream () { // コンストラクタは使用前に呼び出されなければならない。 } }; static class StreamInitializer { public: StreamInitializer (); ~StreamInitializer (); } initializer; // このオブジェクトはヘッダにあることに注意せよ。 //Stream.cpp static int nifty_counter = 0; // ロード時、すなわちどの静的オブジェクトの初期化よりも前に、カウンタは初期化される。 StreamInitializer::StreamInitializer () { if