Мне кажется, люди постоянно уклоняются от или, скорее, яростно выступают против использования С++ на микроконтроллерах, но я не могу для жизни понять, почему. Если вы держитесь подальше от больших библиотек С++ (например, STL), и вы не пытаетесь использовать сложные функции, такие как RTTI или обработку исключений, действительно ли есть какая-либо заметная разница между C vs С++? Имеет ли виртуальное наследование огромное влияние на сложность или след? Я бы подумал, что это будет немного дополнительной памятью, но большая часть сложности будет обработана компилятором, но опять же я не знаю много об этой темной магии. Я просто не понимаю, почему люди очень категоричны в использовании C, за исключением, возможно, для нескольких архитектур, для которых нет компиляторов С++ (если они есть). Похоже, что преимущества модуляции и шаблонов были бы без проблем, даже если вы не могли использовать свой cin или cout.
Я спрашиваю, потому что я занимаюсь некоторыми исследованиями для некоторых хобби проектов, над которыми я хотел бы работать. В идеале, я бы хотел работать с С++ строго для возможности хорошо модулизовать вещи, а также для подхода C "SomeClass_SomeMethod (struct object * this...)" к объектной ориентации. (Я бы предпочел объект Pascal для этих проектов, но, увы, поддержка этого языка не совсем звездная...) Я бы предпочел не переходить на более способный микропроцессор, потому что А. для проектов, которые я делаю, я не нужны тонны ресурсов.. Я не планирую писать 60 государственных фильтров Калмана или кодировать видео 1080p B. (настоящий кикер) Я бы хотел использовать процессоры, доступные в пакетах DIP и QFP. Мне нужна возможность прототипа без пайки или выпечки в моей тостерной печи.
Любые мысли?