PaulS, I think you failed to see my point. I fully agree with you that the normal mathematical operations are the same in C and C++, but the parts of C that are replaced need not be studied by C++ programmers. And this can lead to very nasty errors. Your statement for example:
malloc and free from C are replaced, in C++, by new and delete, but they perform the same functions. And guess how new and delete actually work. Yep, they call malloc and free.
...is one of those nasty errors. While new[] and friends may call malloc() and free() eventually, they perform different tasks. For example, operator new() may call constructors of objects and initialise memory in the other ways than malloc() would. Likewise, delete[] will call detructors of objects whereas free() will not.
Yous assumtions that operator new() and malloc() perform the same function would have led to very, very nasty bugs. This is my point exactly: you may know what you're talking about in C but apparently you do not know the ins and outs of C++ and make mistakes that would render your programs useless.
But we're digressing very much from the original topic. Sorry for that... :![]()