2009-08-05から1日間の記事一覧

ページビューが1万超えた

結構見てる人いるみたいなんですね。あと検索エンジンから来る人ってこんなにいるんですね。ちょっと驚きです。単なる勉強日記なのであまり内容が無くて何だか申し訳ないですね・・・。

テンプレート関数に対してテンプレート引数を指定する

C++

http://www.geocities.jp/ky_webid/cpp/language/028.htmlテンプレートクラスだけでなく、テンプレート関数にもテンプレート引数を設定できます。 template <class T,int NUM> void output(T t) { for(int i=0;i<NUM;i++) { cout << t << endl; } } しかし、ここまで書いてみてひとつ疑問に思いました。そもそもテンプレートクラスの場合はインスタンス化する際にクラス名を指定するのでそのときに CSample<int, 5> のようにテンプレート引数を指定できるのですが、テ…</num;i++)></class>

28章 テンプレート引数

C++

http://www.geocities.jp/ky_webid/cpp/language/028.htmlインスタンス化する際に渡せる引数のようなものです。兎にも角にも実装してみます。 #include <iostream> using namespace std; template <class T, int NUM> class CSample { public: CSample (T t) : m_t(t) {} void output () </class></iostream>…

メンバ関数テンプレート

C++

http://www.geocities.jp/ky_webid/cpp/language/027.htmlクラスのメンバ関数だけにテンプレートを適応させることもできます。 #include <iostream> using namespace std; class CSample { public: template <class T> void output (T& t) { cout << t << endl; } }; int main (</class></iostream>…

27章 テンプレートクラス

C++

http://www.geocities.jp/ky_webid/cpp/language/027.htmlテンプレート関数のクラス版です。凄くややこしそうな気がしますね。とにかく実装してみます。 #include <iostream> using namespace std; template <class T> class CSample { public: CSample(T t) { m_t = t; } T Get</class></iostream>…

マクロ関数よりもテンプレート関数

C++

http://www.geocities.jp/ky_webid/cpp/language/026.htmlテンプレート関数とインライン関数を組み合わせれば、マクロ関数よりも安全な関数を定義することができます。 #include <iostream> // マクロでのmax関数 #define MACRO_MAX(a,b) ((a)>(b)?(a):(b)) // テンプ</iostream>…

26章 テンプレート関数

C++

http://www.geocities.jp/ky_webid/cpp/language/026.htmlさてC++の難問テンプレートのところまでやってきました。テンプレートとは、型が違うだけでまったく同じ処理をしたい関数を作りたい場合、いちいち型の数だけオーバーロードするのはあまりにもめんど…

29章 変換演算子

C++

http://www.geocities.jp/ky_webid/cpp/language/029.htmlもう何かこの辺の変換のところはややこしいですね。まったく。演算子のオーバーロードだけでは飽き足らず、型への変換までもクラスに定義できるようです。兎に角実装してみます。 #include <iostream> using na</iostream>…