Проблема: у мене ціле число; це ціле число потрібно перетворити на тип stl :: string.
Раніше я раніше stringstream
робив перетворення, і це просто трохи громіздко. Я знаю, що спосіб C - це зробити a sprintf
, але я б набагато краще зробив метод C ++, який є типозахищеним (er).
Чи є кращий спосіб це зробити?
Ось підхід струнних потоків, який я використовував раніше:
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;
}
Однак я маю уявлення, що це досить “важка” реалізація.
Зан зазначив, що виклик досить приємний, однак:
std::string s = t_to_string(my_integer);
У кожному разі, приємніший спосіб був би ... приємним.
Пов’язані:
Альтернатива itoa () для перетворення цілого числа у рядок C ++?