C ++ 11 inclut std :: stoi, pourquoi ne pas std :: itos?

37

J’ai remarqué à ma grande joie que C ++ 11 possède une std::sto@famille de fonctions permettant de décompresser facilement ints / floats / long, qu’il s’agisse de chaînes. Je suis surpris cependant que l'inverse ne soit pas mis en œuvre. Pourquoi le comité des normes n'a-t-il pas inclus une std::itosfamille de fonctions permettant de passer des ints / floats / autres (à l'arrière) aux chaînes?

Doug T.
la source

Réponses:

39

Je me suis trompé, il y a un ensemble de fonctions "Xtos", elles sont toutes juste nommées to_string. Chaque chaîne to_string est surchargée pour prendre un type de base différent, à savoir:

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

Voir ici pour plus d'informations.

Doug T.
la source
7
Ce qui laisse la question de savoir pourquoi les stoXfonctions ont été nommées si maladroitement au lieu de fournir un générique de correspondance spécifique from_string<T>pour chaque type arithmétique T.
5gon12eder
Probablement à la suite de C
Mark K Cowan
3
to_string n'est pas l'exact opposé de stoi, bacause in stoi (), vous pouvez spécifier la base, mais to_string (), vous ne pouvez pas: /
Marin Shalamanov le