- 1 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:29:45 ]
- エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。 ※sageは禁止です。 【前スレ】 【初心者歓迎】C/C++室 Ver.36【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1175436073/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 204 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:33:49 ]
- 一時オブジェクトとして使うならコンストラクタ呼び出さないと駄目ぽ
Singleton()::getInstance();
- 205 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:39:53 ]
- static変数の実体がないって怒ってるわけなんだが…
そんなことよりも、何もかもが誤りだから ポインタと参照とシングルトンの勉強をしたほうがいいと思うよ。
- 206 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 22:41:02 ]
- >>202
クラスの静的メンバ変数は、外部で定義しなければならない。 Cのグローバル変数がヘッダで宣言して、どこか1ヶ所で定義するのと同じ理屈。 それはともかくマルチスレッドを考慮しないのなら、単にこうでいい。 class Singleton { public: static Singleton getInstance() { return singleton; } ~Singleton() {} private: static Singleton singleton; Singleton() {} }; static Singleton Singleton::singleton; マルチスレッドを考慮するなら、Singletonはポインタ、 当然std::auto_ptrやboost::scoped_ptrあたりにすべき。
|

|