C und C++ haben viele Unterschiede, und nicht jeder gültige C-Code ist auch ein gültiger C++-Code.
(Mit "gültig" meine ich Standardcode mit definiertem Verhalten, d. h. nicht implementierungsspezifisch/undefiniert/etc.)
Gibt es ein Szenario, in dem ein Stück Code, das sowohl in C als auch in C++ gültig ist, zu verschiedene Verhalten bei der Kompilierung mit einem Standardcompiler in jeder Sprache?
Um einen vernünftigen/brauchbaren Vergleich zu machen (ich versuche, etwas praktisch Nützliches zu lernen, und nicht, offensichtliche Schlupflöcher in der Frage zu finden), nehmen wir an:
- Nichts, was mit dem Präprozessor zusammenhängt (d.h. keine Hacks mit
#ifdef __cplusplus
pragmas, etc.) - Alles, was die Implementierung betrifft, ist in beiden Sprachen gleich (z. B. numerische Grenzwerte usw.)
- Wir vergleichen relativ neue Versionen der einzelnen Standards (z. B. C++98 und C90 oder später).
Wenn die Versionen eine Rolle spielen, dann geben Sie bitte an, welche Versionen der einzelnen Programme ein unterschiedliches Verhalten zeigen.