Je voudrais savoir quelles sont les principales différences entre les méthodes suivantes. Y a-t-il un cas où l'un des deux causerait des problèmes si std::to_string
est défini?Avoir seulement une spécialisation de modèle unique utile?
include <string>
using namespace std;
enum class eColor
{
Red
};
void to_string(eColor color)
{
}
template<typename C = eColor)
void to_string(C color)
{
}
int main()
{
to_string(eColor::Red); // assume only one of the above is defined
return 0;
}
Y a-t-il un cas où l'un des éléments ci-dessus devrait être préféré?
Votre modèle va créer un gâchis. Voir https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice – juanchopanza
Aussi, pourquoi voudriez-vous un modèle? – juanchopanza
Je ne vois pas beaucoup de points pour la version sur gabarit. Mais votre exemple est trop simplifié, vous devriez également montrer la mise en œuvre. – user0042