[QUOTE]\nThere are a number of ways to write code which is valid C (i.e. C-89)\nbut illegal C++:\n[/QUOTE]\nPerhaps, but the statement was that it wasn't "safe" to compile C code\nwith a C++ compiler. In almost every case you mentioned, the\nconstruct in C is _disallowed_ by the C++ compiler. In the other\ncase, the compiler will allocate more memory than required, but that's\nusually harmless. So it's still "safe" in the sense that if C++\ncompiles the code it should work correctly.\n\nAs for whether the resulting program is faster, slower, or\nindistinguishable from the program produced by the C compiler, that's\nentirely a function of the compiler. The C++ spec has a design goal\nthat no feature imposes a runtime penalty if it's never used in the\nprogram; a decent compiler will skip all the overhead required for\nC++-specific features if you don't use them.\n\nI'd take a good C++ compiler over a mediocre C compiler in every case.\nOf course, if your C++ compiler creates a 2 MB program to print\n"hello, world", that's not a good compiler.