我想知道以下方法之間的主要區別是什麼。如果定義了std::to_string
,是否有一種情況會導致問題之一?只有一個模板專業化有用嗎?
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;
}
有沒有這種情況下,上述哪一個應該是首選?
您的模板將創建一個混亂。見https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice – juanchopanza
另外,你爲什麼要一個模板? – juanchopanza
我沒有看到模板化版本的很多觀點。但是您的示例過於簡化,您還應該顯示實現。 – user0042