c++ _ テンプレートと汎用プログラミング

776 ワード

例:2つの値を比較する関数テンプレート
template <typename T>
int compare(const T &t1, const T &t2)
{
    if (t2 < t1) return 1;
    if (t1 < t2) return -1;
    return 0;
}

汎用コードを記述する2つの重要な原則:1テンプレートにおける関数パラメータはconstの参照2関数体における条件判断<比較演算子のみ適用
テンプレートパラメータリストのtypenameとclassは何の違いもありません.typenameはもっと直感的です.