You get an instant win even if you
continue to write C code because C++ has closed many holes in the C language and
provides better type checking and compile-time analysis. You’re forced to
declare functions so that the compiler can check their use. The need for the
preprocessor has virtually been eliminated for value substitution and macros,
which removes a set of difficult-to-find bugs. C++ has a feature called
references that allows more convenient handling of addresses for function
arguments and return values. The handling of names is improved through a feature
called function overloading, which allows you to use the same name for
different functions. A feature called namespaces also improves the
control of names. There are numerous smaller features that improve the safety of
C.