関数テンプレートは、関数を移植可能にし、任意のデータ型で使用できるようにするために使用されることを知っています。
また、特定のデータ型のより効率的な実装がある場合は、テンプレートの明示的な特殊化が行われます。
しかし、明示的な特殊化の代わりに、から呼び出すことができる非テンプレート関数をコーディングすることもできますmain
。これにより、コンパイラは非テンプレート関数を明示的に特殊化されたテンプレート化関数よりも速く見つけることができるため、処理時間を節約できます。これにより、効率が向上します。
では、非テンプレート関数を呼び出すだけの代替手段があるのに、なぜ明示的な特殊化を使用するのでしょうか?
間違っていたら訂正してください!
編集 1:
教授から、関数テンプレートを作成して関数を呼び出すときはいつでもmain
、コンパイラは最初にテンプレート化された関数を探し、それを見つけることができない場合は関数テンプレートを検索し、そこから順番に関数テンプレートを検索すると言われました。テンプレート化された関数を作成し、それを呼び出します。