【发布时间】:2011-08-08 07:56:52
【问题描述】:
在我看来,人们一直在回避,或者更确切地说,强烈反对在微控制器上使用 C++,但我终其一生都无法弄清楚原因。如果您远离大型 C++ 库(例如 STL)并且不尝试使用 RTTI 或异常处理等复杂功能,那么 C 与 C++ 之间真的有任何明显的区别吗?虚拟继承对复杂性或占用空间有巨大影响吗?我认为这会是一些额外的内存,但大部分复杂性将由编译器处理,但话说回来,我对那个黑魔法知之甚少。我只是不明白为什么人们非常坚持使用 C,除了可能没有 C++ 编译器的少数架构(如果有的话)。即使您不能使用 cin 或 cout,模块化和模板的好处似乎也是显而易见的。
我问是因为我正在为一些我想从事的业余项目做一些研究。理想情况下,我想严格使用 C++,以便能够很好地模块化事物,而不是 C 的“SomeClass_SomeMethod(struct object* this ...)”方法来实现“面向对象”。 (对于这些项目,我更喜欢 object Pascal,但是对那种语言的支持并不完全是一流的......)我宁愿避免转向功能更强大的微处理器,因为 A. 对于我正在做的项目,我不需要大量资源。我不打算编写 60 个状态卡尔曼滤波器或编码 1080p 视频 B。(真正的踢球者)我想使用 DIP 和 QFP 封装中可用的处理器。我希望无需在我的烤箱中焊接或烘烤任何东西即可制作原型。
有什么想法吗?
【问题讨论】: