意外と久しぶりな感じ?
いや、そうでもないな アッキーです
以前、
リーダーが軽くテンプレートの使い方、解説をしてくれました
(私が本気で「説明うまいなぁ」って思ったのはどうでもいい話)
C++を勉強していく中で、どうしても外すことができません
「なんで?」
C++の標準ライブラリにテンプレートを使ったクラスなどがいくつもあるからです
そんなんも含めて、テンプレートをもうすこし補足したいと思います
[0回]
テンプレートには大きく分けて2種類存在します
「関数テンプレート」と「クラステンプレート」です
まぁ名前見りゃわかりますよね^^;
「関数テンプレート」はリーダーが紹介してくれたように
関数の処理を汎用的にするためのものです
リーダーの記事から関数を引っ張って使ってみます
int Num1 = 10, Num2 = 50;
swap<
int>(Num1,Num2);
こんな感じですね
でも関数テンプレートに関しては型さえわかっていれば
int Num1 = 10, Num2 = 50;
swap(Num1,Num2);
これも同じ動作をします
じゃあ「クラステンプレート」は?
もうわかりますよね。
クラスをテンプレートにしたものです
私が今回記事を書いたのは、
クラステンプレートを使えれば、よりスマートにコードを書けるようになるからです
そして、C++標準ライブラリに
STL(スタンダード テンプレート ライブラリ)が用意されており
基本的なデータ構造(リスト、スタックやキューなど)を
クラステンプレートで実装されています
自分で書く必要が無いので、楽ですよ~^^
あとテンプレートはファイルを分ける場合
実装の全てをヘッダーで書く必要があります
テンプレートは作れて使えるのが理想ですが
最低、使えるようになって頂きたいです
あと、本当にどうでもいいところですが
template<class Type> と
template<typename Type> は
同じです
私はこんなところでつまづいた経験があります^^;
参考にしてもらえるとありがたいです
相変わらず長文でスイマセン
お疲れ様です
PR
COMMENT