Primer C++ > Adventures in Functions > Templates > Explicit Specialization を読んでいます。
Explicit Specialization の理由/用途を示すために、ケースが示されています。任意の型 (int、double、struct など) を交換できる swap テンプレート関数を検討してください (コードは明らかだと思うので、ここに記述する必要はありません)。
ただし、特定の構造体 (ジョブと呼ばれる) の 2 つのメンバーのみを交換し、残りのメンバーはそのままにしておく必要があります。別の定義が必要になるため、明示的な専門化を作成する必要があります。
同じセクションに次のステートメントがあります。「特殊化は通常のテンプレートをオーバーライドし、非テンプレート関数は両方をオーバーライドします。」その使用のために(通常の)関数を作成しないのはなぜですか?次に、通常の/非テンプレートがテンプレートをオーバーライドしますか?
私の解決策が正しい場合、明示的な特殊化の良い例は何ですか?