Проблема: у меня есть целое число; это целое число нужно преобразовать в тип stl:: string.
В прошлом я использовал stringstream
для преобразования, и это просто громоздко. Я знаю, что C-способ - это сделать sprintf
, но я бы скорее сделал С++-метод, который является typafe (er).
Есть ли лучший способ сделать это?
Ниже приведен метод 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;
}
Однако у меня есть мнение, что это довольно "тяжелая" реализация.
Зан заметил, что вызов довольно приятный:
std::string s = t_to_string(my_integer);
Во всяком случае, лучший способ был бы... приятный.
Связанный: