Здравствуйте, Igore, Вы писали:
M>>Мне перед этим надо написать
M>>using namespace ;
M>>Больше я в этой функции ничего особо выводить не хочу, при возникновении ошибки просто залогировать её в одном месте.
I>Обычно using namespace на файл, а не на функцию, и форматирование обычно нужно больше 1 раза.
Это если писать
.cpp-шники. Лично я уже много лет пишу в таком стиле, что у меня только один
.cpp, в котором функция
main, остальное — в хидерах. В таком кейсе
using namespace на файл — плохая идея.
M>>cout << "Pi: {Pi:f}\n"_mf.arg("Pi", 3.14159);
M>>cout << marty::format::formatMessage("Pi: {Pi:f}\n", marty::format::Args().arg("Pi", 3.14159);
M>>Разве это так уж сильно короче
I>В 2 раза короче, тут скорее дело привычки в каком стиле писать.
Короче, но ты обрезал
using. При его наличии на каждый чих уже не выглядит короче.
M>>А информативность зело падает, не?
I>Я так понял ты хотел приблизится к стилю Python2.7, до f string из Python3 C++ непонятно когда сможет добраться. Это вариант который немного похож. Можно еще и перегрузку operator % для класса добавить, но как то это совсем чужеродно в С++. Хотя то что я предложил больше на QString похоже(если исключить литералы и синтаксис подстановки) можно в нем кстати идеи для форматирования посмотреть.
Я прежде всего ориентировался на
C++ std::format, потом выяснил, что ноги растут из питона. Какая версия питона — я хз, у меня ссылки на спецификации, на которые я ориентировался, приведены почти в начале доки.
Судя по урлю —
https://docs.python.org/3/... — я за базу таки использую третий питон.
Можно про
f string из Python3 поподробнее?
I>Плюс никто же не мешает использовать и обычный стиль, то что будут обертки, их использовать не обязательно. А выбор в каком стиле писать на программисте, спрятать всю магию всё равно не получится.
Это всё да, но это уже сахарок, в любом случае, это пишется за пару часов сломанными пальцами