« C++のクラス定義を復習する | メイン | パラメータ継承を使ったテンプレートメソッド »

C++のテンプレートはパラメータとして関数をとることができる

C++のテンプレートはパラメータとして関数をとることができる。

/**
 * 3倍する
 */
int treble(int x)
{
  return x * 3;
}
/**
 * 4倍する
 */
int quadruplicate(int x)
{
  return x * 4;
}
/**
 * 引数を計算式で計算する
 * @param function int型の引数をとりint型を返す関数
 * @param a 計算する値
 * @return 計算結果
 */
template<int function(int)>
int calc(int a)
{
  return function(a);
}

//2を3倍する
int num1 = calc<treble>(2);
//3を4倍する
int num2 = calc<quadruplicate>(3);

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/867

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年12月24日 17:06に投稿されたエントリーのページです。

ひとつ前の投稿は「C++のクラス定義を復習する」です。

次の投稿は「パラメータ継承を使ったテンプレートメソッド」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35