How can I convert from int to the equivalent string in C++? I am aware of two methods. Is there another way?
(1)
int a = 10;
char *intStr = itoa(a);
string str = string(intStr);
(2)
int a = 10;
stringstream ss;
ss << a;
string str = ss.str();
C++11 introduces std::stoi (and variants for each numeric type) and std::to_string, the counterparts of the C atoi and itoa but expressed in term of std::string.
#include <string>
std::string s = std::to_string(42);
is therefore the shortest way I can think of. You can even omit naming the type, using the auto keyword:
auto s = std::to_string(42);
Note: see [string.conversions] (21.5 in n3242)
Note: for faster/non-allocating conversions, consider the {fmt} library's fmt::format_int as per @vitaut's answer.