Warum ist das weniger Sackgasse als ein Template?
Weil man es "kunstvoll" per Macro nachbaut?
Ich finde das ja immer ganz toll:
"wenn ich die nicht für kleinen Speicher geeigneten Features von C++
verwende, dann geht's nicht. Also kann ich C++ nicht verwende!"
Nein, falscher Schluß! Dann muß man das weglassen, was nicht geht!
Was glaubt ihr denn, was von
1 | Test.Wert=PORTB | (uint8_t)42;
|
übrig bleibt? 3 Befehle:
1 | lds r16,PORTB
|
2 | ori r16,0x2A ;42
|
3 | sts PORTB,r16
|
Obwohl da Templates, Overloading und ... benutzt werden.
Die "property"'s von MSC ermöglichen es quasi Variablezugriffe zu
überladen. Statt der Variablen prop, werden jeh nachdem ob
lesender/schreibender Zugriff deren Setter/Getter-Methoden gerufen, die
z.B. auch direkt die AVR Flash-/EEPROM-Zugriffsroutinen sein könnten.