For example printf
instead of cout
, scanf
instead of cin
, using #define
macros, etc?
It depends on which features. Using define
macros in C++ is strongly frowned upon, and for a good reason. You can almost always replace a use of a define
macro with something more maintainable and safe in C++ (templates, inline functions, etc.)
Streams, on the other hand, are rightly judged by some people to be very slow and I've seen a lot of valid and high-quality C++ code using C's FILE*
with its host of functions instead.
And another thing: with all due respect to the plethora of stream formatting possibilities, for stuff like simple debug printouts, IMHO you just can't beat the succinctness of printf
and its format string.