C++ had to be backwards-compatible with C
向后兼容(Backward Compatibility),又称作向下兼容(Downward Compatibility)。在计算机中指在一个程序或者类库更新到较新的版本后,用旧的版本程序创建的文档或系统仍能被正常操作或使用,或在旧版本的类库的基础上开发的程序仍能正常编译运行的情况。
向后兼容(Backwards compatibility)是一个以部件标准为基础的性能要求,是
TIA最新的标准规范。向后兼容的组件既要符合其所属分类的性能要求,同时也要符合低于其分类的所有性能要求。比如
USB 2.0规范是可以向后兼容版本更低的USB 1.1标准的。
对于软件来说,向下兼容的意思是,较高版本的程序能顺利处理较低版本程序的数据。拿著名的动画制作软件 Flash的两个版本 Flash 5 与 Flash MX 2004 来说,这两个版本虽然保存出来的文件都是 .fla,可是文件内容的结构有所不同。尽管如此,Flash MX 2004 仍然能处理 Flash 5 保存的 fla 文件,我们就说 Flash MX 2004 是向下兼容的。
但情况并不总是这样,有时为了考虑向下兼容会带来一些累赘,尤其是进行过较多升级后。Python 3.0 便是放弃向下兼容的一个例子。
如果一个软件的旧的版本保存的文档不能被新版本读取,即使厂商提供了额外工具对旧文档进行不可逆转的转换,这也不能称作向下兼容。这可能是软件厂商的一种市场战略,强迫用户购买升级软件,随着升级用户逐渐增加,逐渐地使得旧软件能读取的文档越来越少