Почему std::to_chars с плавающей запятой не имеет аргумента по умолчанию?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему std::to_chars с плавающей запятой не имеет аргумента по умолчанию?

Сообщение Anonymous »

Код: Выделить всё

std::to_chars
имеет следующие два объявления:

Код: Выделить всё

to_chars_result to_chars(char* first, char* last,
floating-point-type value);
to_chars_result to_chars(char* first, char* last,
floating-point-type value,
chars_format fmt);
[charconv.to.chars] утверждает:

Функции, которые принимают значение с плавающей запятой, но не параметр точности, гарантируют, что строковое представление состоит из наименьшего количества символов, так что перед точкой счисления (если она есть) есть хотя бы одна цифра, и анализ представления с использованием соответствующей функции from_chars точно восстанавливает значение.

Учитывая, что существует как минимум 20 перегрузок to_chars, было бы желательно исключить некоторые из них.
Похоже, эти две можно объединить в одну:

Код: Выделить всё

to_chars_result to_chars(char* first, char* last,
floating-point-type value,
chars_format fmt = chars_format::general);
Однако я смутно припоминаю, что существует некоторая разница в поведении между отсутствием chars_format и наличием chars_format::general. Это правда и в чем разница?
Есть ли пример, когда у них будет разный результат?


Подробнее здесь: https://stackoverflow.com/questions/798 ... t-argument
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»