У меня есть одинаковые версии усиления на два разных устройствах, но поведение отличается дляlexical_cast с отрицательным числом ведет себя по-разному на разных машинах
lexical_cast<uint>("-1")
Документации, говорится, что он должен дать мне INT_MAX (2 дополнение при опрокидывании) но на одной машине я получаю бросок исключения, а на другой - INT_MAX.
'INT_MAX'? Где в документации это сказано? – AnT
@Ant, [FAQ] (http://www.boost.org/doc/libs/1_60_0/doc/html/boost_lexical_cast/frequently_asked_questions.html) рассказывает о том, что происходит при приведении строки * '' -1 " 'to' uint' (что в конечном итоге зависит от правил C для 'scanf'), но я ничего не вижу в документации о литье' -1'. На самом деле, я ничего не вижу о том, чтобы кастинг из любого нестрокового типа в другой нестроковый тип, кроме случаев, когда он предполагает, что 'numeric_cast' может предложить более разумное поведение». Итак, Wonton, пожалуйста, укажите цитату и, возможно, скажите, почему вы не используете 'numeric_cast'. –
Забытые кавычки. это для преобразования строк. Извините за путаницу. – wonton