Dag-Erling Smørgrav wrote:

Don Dugger <[EMAIL PROTECTED]> writes:
Dag-Erling Smørgrav <[EMAIL PROTECTED]> writes:
Don Dugger <[EMAIL PROTECTED]> writes:
Dag-Erling Smørgrav <[EMAIL PROTECTED]> writes:
Don Dugger <[EMAIL PROTECTED]> writes:
The fact is that all your c code will compile in c++
That is wrong.  To name just one example, C++ is much stricter about
type casts than C is.
I mean the constructs. Casting will not change the functionality or
shouldn't.
It does.  Casting can be (and often is) used to force or avoid sign
promotion in function arguments; for instance, isspace(ch) may produce
incorrect results if ch is a char, so a cast to int is required.

C allows any expression of pointer type to be assigned to a void *,
and allows any expression of type void * to be assigned to any object
pointer type.  C++ does not.  As a result, a typical C program which
uses malloc() without casting the result will not compile cleanly with
a C++ compiler.  A competent C programmer will balk at adding the cast
that C++ requires; a competent C++ programmer will correctly point out
that a C++ program should not use malloc() anyway.

There are other incompatiblities: const has different semantics in C
and C++, namespaces aren't quite the same (there is no separation
between the typedef namespace and the struct namespace in C++), etc.
And how does that change my point?

You claim (on the first line quoted above) that "all your c code will
compile in c++".  I am trying to show that you are wrong.

DES
Ok I should have said most or some, but I'm taking about the original point which is that c++ is not where the performance problem comes from it's the code in the library or that was generated by the templates or many other thing and there are
trade offs no matter what you use and that many of the things like iostreams
come with a great deal of other functionality other then simply outputting a character to the screen and if you use iostreams your going to pay for that functionality with performance. You can however use the old c library stuff and get the same performance you got with c. In all the case I saw for comparisson he used things
that were from iostrems.

Don 8)



_______________________________________________
freebsd-chat@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-chat
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to