Wie sieht das denn performancemässig aus?
hast du schonmal getestet wieviel langsamer bzw. grösser der Code dabei wirklich wird?
Ich habe bisher nur mal ein wenig rumprobiert, aber der ausführbare Code wird dadurch kaum größer.

Ob man C oder C++ kompiliert, die avrlibc ist dieselbe; es gibt schließlich noch keine avrlibc++, die einen signifikanten Größenunterschied verursachen könnte.

Klassen etc. sind ja nur Sprachkonstrukte, im späteren Code erzeugen die keinen Overhead mehr.
Nur virtuelle Funktionen erzeugen einen geringen Overhead. Aber man muss sich fragen, ob man in C diesen Overhead nicht auch hätte, wenn man das Prinzip der virtuellen Funktionen manuell implementiert.

new/delete sollte man auf den kleineren Controllern aber weitestgehend meiden, da man sie meistens über malloc/free implementiert und dadurch einigen Overhead erzeugt.


Ob C++-Code langsamer ist, habe ich nicht überprüft (mir ist es aber auch nicht aufgefallen). Theoretisch betrachtet sollte es absolut keine Performanceeinbußen geben, wie auf dem PC. Praktisch könnte gelegentlich etwas umständlicherer Code als nötig erzeugt werden, da der avr-C++-Compiler nicht so sehr gepflegt wird wie der C-Compiler und vielleicht manche Optimierungen in Bezug auf Klassen nicht kennt. Das sollte aber selten auftreten (wenn überhaupt).
Müsste man mal messen oder die Listings durchsehen, ich denke aber, dass es keinen Geschwindigkeits-Unterschied geben wird.