Ich bin mir jetzt nicht ganz sicher wie das bei C11 und C++11 ist? Bei der Standard-Generation davor war C keine echte Untermenge von C++ mehr
Beispiel: VLAs (Variable Length Arrays) die, wenn ihr euch an die Standards haltet, nur unter C ab C99 funktionieren.
Und schau dir mal die Header string.h, string ohne h und cstring ohne h an und vergleiche. Okay der Vergleich kann je nach Compiler unterschiedlich ausfallen. Und versuche mal die Möglichkeiten die du in C hast mit denen in C++ bezüglich der Strings zu vergleichen.
Dann kann man sich noch Ärger einfangen, wenn du C-Speicherreservierungen in C++ nutzt.
Es ist bei vielen C-Funktionen so das das Programm zwar kürzer ausfällt, aber mit den C++ Funktionen sicherer läuft.
Das heisst du musst bei C wesentlich mehr achten auf fehlerhaften Quellcode z.B. bezüglich Speicherüberläufe oder Ähnlichem.
Leider findet man im Netz noch oft relativ schlechten Quellcode.
Wenn du Spass an C++ hast, schau dir doch mal die Sache mit den Containern an. Und überlege wie du vergleichbares in C gebacken bekommst.
C hat klar Vorteile, wenn der Speicherplatz knapp ist oder das letzte Quentchen an Geschwindigkeit notwendig ist. Aber das ist heute ja selten der Fall.
Der Sprachumfang von C ist kleiner. Obwohl da gibt es auch tricky Quelltext.
Dann gibt es ja noch die MSDN von Microsoft mit der langen Liste von C-Funktionen, die man besser nicht nutzen sollte da die zu unsicher sind. Obwohl die dort angegeben Alternativen sind oft nicht Standard-C sondern Microsoft-C.
MfG bcc-fan