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?

Doug T.
źródło

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.

Doug T.
źródło
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