Я был рад, что стандартная библиотека получила функцию to_string
, но теперь я в режиме WTF. Во-первых, почему это не шаблон, во-вторых, если это не шаблон для возвращаемого значения, то почему в мире у них нет функций to_u16string()
и to_u32string()
.
Я знаю, что есть лексический состав boost, но мне любопытно узнать, есть ли стандартный способ получить то, что я хочу, без ручного написания этих функций?
РЕДАКТИРОВАТЬ: что еще хуже, boost 1.46 также не любит u16string :(
boost::lexical_cast<u16string>(22.44);
завершение вызывается после создания экземпляра 'boost::exception_detail::clone_impl
' what(): неправильный лексический состав: значение исходного типа не может быть интерпретировано как целевое
to_string
. - person Lightness Races in Orbit   schedule 02.12.2011std::to_string
и ему подобных. - person Nicol Bolas   schedule 02.12.2011wstring_convert<codecvt_utf8_utf16<char32_t>, char32_t> utf32conv; auto to_u32string = [&] (const auto& value) -> u32string {return utf32conv.from_bytes(to_string(value));};
- person xamid   schedule 23.09.2019