今天,我在听有关C ++阴暗面的许多讨论。其中一个是由一名参与新C ++标准创建的人(Nikolai Jossutis)持有的。我对语言中的许多事物着迷,这使它更易于滥用。就我个人而言,如果没有向后可比性,C ++实际上很好,这不允许修复“标准中的错误”。
从虚伪上讲,我想使用一种不与标准C ++向后兼容的C ++语言方言。它会删除被认为是危险的组件,不会编译几乎总是会导致UB的东西。
我不想举任何具体的例子,但是我对所有可以使代码更安全的事情都很好。我已经将警告视为编译器提供的最严格的错误,并使用静态分析以及ASan等。
UPD:我说的是与C ++非常相似的东西,它的特性。如果我考虑Java,那么由于VM,它不适合我。我问的是C ++的方言,不是很不同的语言,例如Java或Rust。 Rust很好,因为它可以编译为本机代码,但是我要问的是方言,而不是新语言。
答案 0 :(得分:2)
您可以尝试D https://dlang.org/ ...
或者看看Misra C ++规则https://www.perforce.com/resources/qac/misra-c-cpp,还有可用的代码检查器