In the last recipe, we learned how to format the output with output streams. And while doing the same, we realized two facts:
- Most I/O manipulators are sticky, so we have to revert their effect after use in order to not tamper with other unrelated code, which also prints
- It can be very tedious and does not look very readable if we have to set up long chains of I/O manipulators in order to get only a few variables printed with specific formatting
A lot of people do not like I/O streams for such reasons, and even in C++, they still use printf
for formatting their strings.
In this recipe, we will see how to format types on the fly without too much I/O manipulator noise in our code.