sizeof(double) < sizeof(long double)).
std::numeric_limits, the current version now chooses a precision to match.
lexical_castnow supports conversions from
wchar_t *, and
lexical_castassumed that the conventional stream extractor operators were sufficient for reading values. However, string I/O is asymmetric, with the result that spaces play the role of I/O separators rather than string content. The current version fixes this error for
std::stringand, where supported,
lexical_cast<std::string>("Hello, World")succeeds instead of failing with a
lexical_castallowed unsafe and meaningless conversions to pointers. The current version now throws a
bad_lexical_castfor conversions to pointers:
lexical_cast<char *>("Goodbye, World")now throws an exception instead of causing undefined behavior.