我需要寫一個實用程序功能(在我的C++ CLI應用程序),一個字符串轉換爲雙人間或浮動或詮釋。這個鑄件是否安全?
template<typename T>
static T MyConvert(String^ str) {
return static_cast<T>(System::Convert::ToDouble(str));
}
這是安全嗎?
可它在某種程度上轉化爲2〜1.999,然後爲1,如果我叫MyConvert<int>("2")
?
我想知道爲什麼Convert類不是在第一個模板? (這將讓我叫Convert<T>
而不是Convert.ToDouble()
所有類型)
這是C++/CLI,所以我可以使用任何轉換在C方法++或.NET,但我只知道Convert.ToDouble()|ToString()|ToInt32())
轉換類不使用泛型。每種類型都有特殊的邏輯,所以使用泛型不會使它更靈活。 – 2010-06-03 14:16:13
有很多原因,這是不安全的。對於初學者來說,如果你的輸入參數不是一個數字,那麼甚至沒有檢查完成。 – 2010-06-03 14:16:29
這不是確切的代碼,我只發佈了我認爲與數值分析相關的東西。字符串不是直接發送這個這個。 – Itsik 2010-06-03 19:06:47