python format for C++20
От: niXman Ниоткуда  
Дата: 07.03.19 16:36
Оценка:
привет!

почитал это(https://habr.com/ru/company/yandex/blog/438864/), и обратил внимание на это(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r5.html).

сабжевую реализацию я как-то пытался использовать, но не срослось...
две причины:
первый пункт пока зачеркну, похоже что-то изменилось в лучшую сторону.
1. результат в виде строки.
т.е. нет возможности выводить в какой-нить iostream по мере форматирования.
пример:
std::cout << std::format("{}-{}", 1, 2);

тут результат сначала будет выведен в строку, потом вся строка в std::cout.
а представте, что плейсхолдеров у вас десяток. или, заменители размером в сотни байт.


2. не учитывает установленные флаги iostream.
т.е. этот же пример выведет не то, что вы ожидаете.
std::cout.precision(4);
std::cout.flags(std::ios_base::fixed|std::ios_base::showpoint);
std::cout << std::format("{}-{}", 1.3, 2.7);


радует, конечно, что оно появилось, но расстраивает, конечно, что появилось в таком виде.
Слово "совпадение" появилось после падения сов.
Отредактировано 07.03.2019 17:00 niXman . Предыдущая версия . Еще …
Отредактировано 07.03.2019 16:59 niXman . Предыдущая версия .
Отредактировано 07.03.2019 16:54 niXman . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.