C 是一种过程式语言,具有手动内存管理,且没有对类、继承或异常的内置支持。C++ 通过面向对象特性、模板、标准模板库和更强的编译时检查扩展了 C,同时保持与 C 语法的最大兼容性。用 C 编写的程序通常更小且行为更可预测,而 C 则牺牲了一些简单性以换取抽象和重用。在它们之间进行选择通常取决于项目是需要底层控制还是更高级别的抽象。