C ++ 11 zawiera std :: stoję, dlaczego nie std :: itos?


37

Z radością zauważyłem, że C ++ 11 ma std::sto@rodzinę funkcji do łatwego rozpakowywania ints / floats / longs cokolwiek z ciągów. Dziwi mnie jednak fakt, że przeciwieństwo nie zostało wdrożone. Dlaczego komitet normalizacyjny nie zawiera std::itosrodziny funkcji do przechodzenia od ints / floats / cokolwiek (wstecz) do stringów?

Odpowiedzi:


39

Myliłem się, istnieje zestaw funkcji „Xtos”, wszystkie zostały po prostu nazwane to_string. Każdy to_string jest przeciążony, aby przyjąć inny typ podstawowy, tj .:

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

Zobacz tutaj, aby uzyskać więcej informacji.


6
Co pozostawia pytanie, dlaczego stoXfunkcje zostały tak niezręcznie nazwane, zamiast dostarczania dopasowanego generycznego from_string<T>wyspecjalizowanego dla każdego typu arytmetycznego T.
gon12eder,

Prawdopodobnie po C
Mark K Cowan

3
to_string nie jest dokładnym przeciwieństwem stoj, bo w stoj () możesz określić base, ale w to_string () nie możesz: /
Marin Shalamanov
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.