Besides the obvious list of features, in my opinion the real answer is that there's no good reason to still use C instead of C++. Even if you don't use OOP, you can use it as a better C. Even if you use just once a unique feature of C++ in your program, C++ is already a winner.
On the other hand, there's no disadvantage in using C++: it retains the performance goals of C and it is a quite low level language, while allowing very powerful things. And you will not miss any C feature using C++!
And don't forget the wide user base and the rich libraries and frameworks available.
By the way, C99 has added some interesting features but after a decade there's still very limited compiler support (so you are bound to ANSI C). In the meantime C++ evolved as well and the compiler vendors are committed to providing conforming implementations.
On the other hand, there's no disadvantage in using C++: it retains the performance goals of C and it is a quite low level language, while allowing very powerful things. And you will not miss any C feature using C++!
C++ locks you into doing object oriented programming within the C++ model has its limits. There are other models that have different advantages and are hard to emulate using C++. One example being multiple dispatch. Other examples being late binding. Trying to emulate a different OO style in C++ is worse than doing it in C because it conflicts with the built in OO in C++. The multiple implementations cannot gracefully mix together.
Name:
Anonymous2012-11-09 2:41
>C++ locks you into doing object oriented programming within the C++ model has its limits.
C++ is a cancerous but long-lasting fad, and so is OOP.
I will be glad when they've properly diminished in popularity.
Fuck off OP.
Name:
Anonymous2012-11-09 11:35
check 'em
Name:
Anonymous2012-11-09 14:20
>>10
A fad? C++ gives you automatic memory management (RIAA) in a way that actually makes sense and is usable for real world scalable turkey solutions. If you think that's what ``fad'' means, I cannot help you.
Name:
Anonymous2012-11-09 14:25
>>12 C++ gives you automatic memory management (RIAA)
Is it done using Dynamic Memory Centralized Allocation? Also, have you considered MultiPointer Automatic Allocation?