2010-04-01から1ヶ月間の記事一覧
だいたいの値をいつも忘れるのでメモ代わりに対応表を作ってみた。 | 1 << 0 | 1 | 0x00000001 | | 1 << 1 | 2 | 0x00000002 | | 1 << 2 | 4 | 0x00000004 | | 1 << 3 | 8 | 0x00000008 | | 1 << 4 | 16 | 0x00000010 | | 1 << 5 | 32 | 0x00000020 | | 1 <<…
またまたSingletonクラスの話です。昨日の続きです。自動でデストラクタを呼ばせる目的なら、自前でクラスを作るよりもauto_ptrを使った方が意図が伝わりやすいというコメントを頂き、確かにそうだなと思ったのでauto_ptrを使ってもう一度Singletonクラスを…
さてここ最近ずっとSingletonについてあれこれ学んでる最中なのですが、なにやらまたしてもC++の深遠を覗いてしまった感があります。Singleton デザインパターンとかポインタとか - 野良C++erの雑記帳 シングルトンまとめ - Togetterこちらの記事で僕の疑問…
Singletonクラスの続きです。今回はSingletonクラスをテンプレート化して簡単に定義できるようにしてみたいと思います。 #include <iostream> using namespace std; template<class T> class Singleton { private: class Auto { public: T* m_instance; Auto() : m_instance(0){</class></iostream>…
先日の記事でコメントを頂いたのでちょっとSingletonクラスの内部で持つポインタについて自分なりに色々調べてみました。まず下記のようなシンプルなSingletonクラスを考えます。 #include <iostream> using namespace std; class Foo { private: static Foo* m_instan</iostream>…
もともとSingletonではない元クラスをSingletonとして扱う方法がないかを考えてみる。条件として, 元クラスは引数無しのコンストラクタを呼べなくてはならない。また、当然のことながら元クラス単体を定義したりnewしたりできるということはここでは問題とし…
以下の問題で半日悩んだorz。 同名.cppファイルの自動解決は出来ないのか http://vsug.jp/tabid/63/forumid/72/postid/11589/scope/posts/Default.aspx 勝手にユニークな名前付けてくれても良さそうなのにどうもVC2008ではダメらしい。 同名のhoge.cppファイ…
参考書等をを見ると、例えば戻り値にメンバ変数への参照を返すようなメンバ関数を用意する場合、const有りとconst無しの両方を用意しています。 #include <iostream> using namespace std; class Foo { int m_num[10]; public: Foo() {} // const無し版 int& operator[</iostream>…
たとえメンバ変数をprivateにしていたとしてもポインタを経由すればアクセスできてしまう。 #include <iostream> using std::cout; using std::endl; class Foo { private: int num1; int num2; public: void output () { cout << num1+num2 << endl; } }; int main ()</iostream>…
文字の加工にはostringstreamが便利。 #include <iostream> #include <sstream> using std::cout; using std::endl; int main () { std::ostringstream ss; int i = 10; ss << "foo" << i << ".txt"; cout << ss.str() << endl; return 0; } $ main foo10.txtちなみにss.str()の</sstream></iostream>…