充電5日目
1274 ワード
テンプレートと汎用プログラミング
かたわく
質問:テンプレートは何に使いますか.
答え:もしあなたが比較関数を書いて、2つの整形値の大きさを比較する場合、コードは以下の通りです.
また、2つのstringタイプの値の大きさを比較したいのですが、どうすれば、関数を利用して再ロードできますか?上のコード:
他の2つの値のサイズを比較する必要があるかもしれませんが、コードを書く必要がありますか?面倒くさい...怖がらないでテンプレートが助けてくれた:
かたわく
質問:テンプレートは何に使いますか.
答え:もしあなたが比較関数を書いて、2つの整形値の大きさを比較する場合、コードは以下の通りです.
1: int compare(const int &v1, const int &v2)
2: {
3: if(v1 > v2) return 1;
4: if(v1 < v2) return -1;
5: return 0;
6: }
また、2つのstringタイプの値の大きさを比較したいのですが、どうすれば、関数を利用して再ロードできますか?上のコード:
1: int compare(const string &v1, const string &v2)
2: {
3: if(v1 > v2) return 1;
4: if(v1 < v2) return -1;
5: return 0;
6: }
他の2つの値のサイズを比較する必要があるかもしれませんが、コードを書く必要がありますか?面倒くさい...怖がらないでテンプレートが助けてくれた:
1: template <typename T>
2: int compare(const T &v1, const T &v2)
3: {
4: if(v1 > v2) return 1;
5: if(v1 < v2) return -1;
6: return 0;
7: }