は、私はテンプレート関数と二つのクラステンプレートパラメータのタイプを確認するにはどうすればよいですか?
Tのためのチェックは動物であるどのようにすればいいclass animal {
}
class person {
}
template<class T>
void foo() {
if (T is animal) {
kill();
}
}
があると?私は 実行時にチェックするものを持っていたくありません。これはT
として渡されたタイプに基づいて、全く新しい機能を作成すること
template <> void foo<animal> {
}
注:ありがとう
TThanks!実際にそれらは多くのコードを共有しているので、実際には複製できません。 – WhatABeautifulWorld
@WhatABeautifulWorld:タイプ依存部分が特殊化可能な関数に降格されるように、コードを因数分解することができます... –
速いフォローアップstd :: is_sameを使用すると、他のテンプレートパラメータのコードが遅くなることはありません。 – WhatABeautifulWorld