In his book "C++ From The Ground Up" Herbert Schildt wrote that "However, the role of the preprocessor in C++ is much smaller than it is in C. One reason for this is that many of the chores that are performed by the preprocessor in C are performed by language elements in C++. Stroustrup has stated his desire to render the preprocessor redundant, so that,ultimately, it could be removed from the language entirely."
Best examples can be :
use of const keyword instead of
#define
use of inline function instead of macro.
Why preprocessor isn't so important in C++?
I just want to know that is preprocessor is really evil? Because Marshall Cline said that preprocessor is evil in this link: http://www.parashift.com/c++-faq/preprocessor-is-evil.html