私は基本テンプレートを持っています:
template <class X> void f(X x) {}
これで、それを特殊化する 2 つの方法を見てきました。
template <> void f<>(int x) {}
または:
template <> void f<int>(int x) {}
gcc は両方のバリアントを使用しますが、両方を同時に使用することはありません。
これらの 2 つの専門分野は同じですか? テンプレートを特殊化するときに、2 番目の <> で型を指定する必要があるのはいつですか?