V
C++ kann man nicht mehr als Erweiterung von C sehen. Eher eine Abspaltung. Das ändert aber nichts an der prinzipiellen Richtigkeit der Aussage, daß man keine wuchtigen Sprachmittel benutzen muß, sondern jederzeit in C++ auch darauf verzichten kann, wodurch der C++-Code dann größtenteils sogar von einem C-Compiler geschluckt werden würde.
Die Sachen, die Embedded-Programmierer wirklich erschrecken können, laufen zum Beispiel so ab:
man hat zwei structs mit dazugehörigen funktionen. alles ok. dann bastelt man die um in klassen. alles ok. das compilat wird sogar ein paar bytes kleiner. man macht auch ein paar virtuelle funktionen. auch ok, eine verzweigung je nach typ war notwendig und ob man das jetzt per hand macht, oder virtual benutzt, ist fast egal. das compilat ist noch fein klein. oh, der dtor sollte aber auch virtuell sein. kein prob. und sollte die eine funktion nicht pur virtuell sein? das mach auch auch mal. uih, riesenanschiss vom chef gekriegt, warum ich so bescheuert sei, c++ zu nehmen. compilat hat 280000 bytes statt der 2500 bytes von vorgestern. lag am dummen =0. der compiler hat ne geheime funktion reingefummelt (ein paar bytes dazu), die aufgerufen wird, wenn ich so bescheuert bin, durch wildes gecaste oder aufruf im ctor eine pur virtuelle funktion aufzurufen. die wiederum schmeißt eine exception (exceptionhandling dazu mit 23000 bytes), die fliegt durch bis zu ner funktion, die das programm terminiert. und diese funktion wiederum gibt was nach cerr aus (iostream dazu mit 250000 bytes). was so ein kleines =0 doch ausmachen kann. naja, jetzt hat der chef verboten, jemals wieder c++ zu nehmen und erzählt überall, wie viel besser c doch für embedded systems ist.