問題: 整数があります。この整数は stl::string 型に変換する必要があります。
以前stringstream
は、変換を行っていましたが、それはちょっと面倒でした。C のやり方で を実行することは知っていますがsprintf
、タイプセーフな C++ メソッドを実行したいと思います。
これを行うより良い方法はありますか?
これは、私が過去に使用した stringstream アプローチです。
std::string intToString(int i)
{
std::stringstream ss;
std::string s;
ss << i;
s = ss.str();
return s;
}
もちろん、これは次のように書き換えることができます。
template<class T>
std::string t_to_string(T i)
{
std::stringstream ss;
std::string s;
ss << i;
s = ss.str();
return s;
}
ただし、これはかなり「重い」実装であるという考えがあります。
Zan は、この呼び出しは非常に優れていると述べていますが、次のように述べています。
std::string s = t_to_string(my_integer);
いずれにせよ、より良い方法は...いいでしょう。
関連している: