How to convert int to string in C++?

c++, integer, string, type-conversion

Solution

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)

Problem

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(); ```

Original source

Related problems