-
Book Overview & Buying
-
Table Of Contents
C++ STL Cookbook - Second Edition
By :
Before C++20, if you wanted to format text, you could use either the legacy printf functions or the STL iostream library. Both have their strengths and flaws.
The printf-based functions are inherited from C and have proven efficient, flexible, and convenient for over 50 years. The formatting syntax can look a bit cryptic, but it's simple enough once you get used to it.
printf("Hello, %s\n", c_string);
The main weakness in printf is its lack of type safety. The common printf() function (and its relatives) use C's variadic arguments model to pass parameters to a formatter. This works great when it works, but it can cause serious problems when a parameter type doesn't match its corresponding format specifier. Modern compilers do as much type-checking as they can, but the model is inherently flawed and the protection can only go so far.
The STL iostream library brings type safety at the expense of readability...