H>>Спасибо за низкоквалифицированых кодеров (около 10ти лет занимался embedded, писал в основном на plain C).
H>>Дело в том, что MyClass(a).func(b) действительно работает медленнее (иногда МНОГО медленнее). Например если таблица виртуальных функций лягла не в ту память,
П>Решается правкой linker script-ов.
Н>>или если MyClass распределен на хипе (а хип соответственно лег не в ту память). Именно из-за сложностей с упревлением размещений в embedded (точнее в той его части где производительность супер-важна) используют С а не ++. А my_struct я могу (как правило) положить туда куда надо. В общем embedded гораздо интереснее — сейчас скучаю. Это порой как складывать интереснейший пазл.
П>Пишется customный operator new().
В каком-то частном случае наверное можно. В общем — быстрой памяти как правило мало и постоянно не хватает. То есть применительно к правке линкер скриптов — их все равно надо будет править каждый раз с добавлением класса. И в общем-то просто ну нету в большинстве задач которые я решал в embedded (я занимался сжатием видео) нормального места для ООП (то есть не на уровне "класс — это продвинутая структура"). Не нужно мне там было сложных абстракций. Там и других сложностей хватало. И, кстати, насколько я понимаю в этой области (сжатие видео на embedded платформах) так думает подавляющее большинство.