とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

型推論とテンプレート

特定のテンプレート引数が他のテンプレート引数に影響しない場合,もっとスマートに書けると思うんだよね。
例えば,次の場合, max の引数に 3 と 3.14 を渡した場合に戻り値をどうする?って問題があるから template って書く必要がある。

template <typename T>
T max(T x, T y)
{
    if (x < y)
        return y;
    else
        return x;
}

次のような(実行速度を意識した)ケースはどうだろう?

template <typename T>
void hoge(T x){}

次のように書ければスマートだと思った。

void hoge(var x){}

勝手に型推論して,各型の関数を用意してくれよ!と。ああ,var は JavaScript あたりから適当に持ってきた,疑似キーワードです。