Karlos wrote:
To all the C coders, there's no non-trivial C program that could in no way benefit from some of C++'s features. Even without classes, there's stuff in there that's damn handy, such as function name overloading, declarations as statements, references to name but a few...
I avoid function name overloading like the plague: the implicit argument type promotion rules to test whether two functions are equal are a nightmare. The feature is useful in a few select cases, but in my experience too often led to obfuscation rather than clarity. References... Now there's a feature I'd love to have in C. Although I also believe that every C(++)-programmer should experience the exquisite emotions caused by an oh-so-subtle pointer bug at least once in their lives.
But despite the better features, it has its share of problems too: the syntax is complex (although not unbearably so), it has no garbage collection and still has you managing memory by yourself, and quite a number of others, which may not directly affect a programmer working on his own, but will when working in a team. See
this site, for example, although the author gives off the impression of being holier than thou. You
can write solid and tidy code with C++; just keep in mind it is not a miracle cure to every programming problem, OO or otherwise.