C ++ 11 std :: stoi içerir, neden std :: itos olmasın?


37

G ++ 'e göre, C ++ 11 std::sto@ints / float / longs dizgilerinden kolayca çıkarmak için bir işlev ailesine sahip olduğunu fark ettim . Ancak bunun tam tersi uygulanmadığı için şaşırdım. Neden standartlar komitesi std::itos, ints / float / neyse (geri) dizelere geçmek için bir işlev ailesi içermiyordu ?

Yanıtlar:


39

Yanıldım, bir dizi "Xtos" işlevi var, hepsi yeni adlandırıldı to_string. Her to_string farklı bir temel tip almak için aşırı yüklenir, yani:

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

Daha fazla bilgi için buraya bakınız .


6
Bu, stoXişlevlerin neden from_string<T>her türlü aritmetik türü için özel bir eşleştirme jenerik sağlamak yerine, bu kadar garip bir şekilde adlandırılmasının sorusunu bırakıyor T.
5gon12eder

Muhtemelen C
Mark K Cowan'dan

3
to_string stoi'nin tam tersi değil, stoi () içindeki bacause üssü belirleyebilirsiniz, ancak to_string () 'de yapamazsınız: /
Marin Shalamanov
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.