Но на самом деле все это уже было возможно в C ++98.
Тогда я решил сравнить старые библиотеки с новостными библиотеками:
C++11:
g++ -std=c++11 main.cpp
Код: Выделить всё
#include
#include
#include
using namespace std;
int main()
{
clock_t tStart = clock();
string input = "50";
for (int i = 0; i < 50000; i++)
{
int number = stoi(input);
}
cout
[img]https://i.stack.imgur.com/NRC4B.png[/img]
Ubuntu 14.04:
[img]https://i.stack.imgur.com/TkzgA.png[/img]
[img]https://i.stack.imgur.com/BDATH.png[/img]
Slackware Server 14.1 через SSH:
[img]https ://i.stack.imgur.com/6nIqw.png[/img]
[img]https://i .stack.imgur.com/90mtF.png[/img]
[b]Конфигурация:[/b]
Облегченный сервер Windows 7: Процессор Intel(R) Core(TM) i5-4590 @ 3,30 ГГц
Ubuntu 14.04 : Процессор Intel(R) Core(TM) i7-2670QM @ 2,20 ГГц
Slackware Server 14.1 через SSH: Intel( R) Процессор Core(TM) i3-4150 @ 3,50 ГГц
[b]Вопросы:[/b]
В чем разница между stoi и stringstream?
Зачем и когда использовать функции новостей внутри библиотеки строк (stoi, to_string)?
И, наконец... stoi работает намного быстрее с -O3, чего нельзя сказать о sstream. Итак, что -O3 делает со стои, а не со sstream?
Подробнее здесь: [url]https://stackoverflow.com/questions/35307176/why-stoi-is-much-slower-than-stringstream-without-o3[/url]
Мобильная версия