C ++ 11 включає std :: stoi, чому б не std :: itos?


37

Я зауважив, що C ++ 11 має std::sto@сімейство функцій для легкого розпакування ints / floats / longs незалежно від рядків. Однак я здивований, що навпаки не реалізується. Чому комітет зі стандартів не включив std::itosсімейство функцій для переходу від ints / floats / що завгодно (назад) до рядків?

Відповіді:


39

Я помилився, є набір функцій "Xtos", всі вони тільки названі to_string. Кожне торестрінг перевантажено, щоб прийняти інший базовий тип, тобто:

std::string to_string(float f);
std::string to_string(int f);
...

Дивіться тут для отримання додаткової інформації.


6
Що залишає питання, чому stoXфункції були названі такими незграбними, замість того, щоб забезпечити загальну загальну from_string<T>спеціалізовану для кожного арифметичного типу T.
5gon12eder

Можливо, слідкує за C
Mark K Cowan

3
to_string не є точно протилежною stoi, тому що в stoi () ви можете вказати базу, але в to_string () ви не можете: /
Марин Шаламанов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.