我有兴趣编译一个不适合在嵌入式系统中使用的c ++特性列表(这可能会导致人们推荐c over c ++).如果您知道,请尝试添加原因,或将其原因添加到其他人的答案中.
这是一个开始(我知道的唯一一个)
这里的联合攻击战斗机编码标准:http: //www2.research.att.com/~bs/JSF-AV-rules.pdf是如何使用C++进行嵌入式编程的非常好的概述.
动态多态性的禁令是90年代的延续,并没有合理的依据.调用虚拟功能不再需要进行切换和呼叫.如果要避免虚函数调用,也可以使用C.
某些功能需要运行时支持,因此如果您错过了所需的支持,则应该避免使用这些功能。特别是,以下功能通常需要额外的运行时支持:
人们通常也会提到模板,但它们只是一种高级的宏工具——因此您可以在嵌入式系统中自由地使用它们。尽管如此,您可能还是想避免它们,因为它们可能会导致编译后代码膨胀。
您的嵌入式系统应该附带文档,说明可以使用哪些 C++(或其他)运行时支持(如果有)。