What is the difference between std::atoi() and std::stoi?

Viewed 61567

What is the difference between atoi and stoi?

I know,

std::string my_string = "123456789";

In order to convert that string to an integer, you’d have to do the following:

const char* my_c_string = my_string.c_str(); 
int my_integer = atoi(my_c_string);

C++11 offers a succinct replacement:

std::string my_string = "123456789"; 
int my_integer = std::stoi(my_string);

1). Are there any other differences between the two?

2). Efficiency and performance wise which one is better?

3). Which is safer to use?

1 Answers
Related