level 1
++是C的一个直接后代,它几乎包含整个C作为一个子集。C++提供了比C更强的类型检查,并支持更多的编程风格。因为C++支持C语言的编程风格,同时提供更好的类型检查和更多概念上的支持,有不损失效率,所以从这个意义上来说,C++是“一个更好的C”。同样,ANSI C也是一个比K&R C更好的C。另外,C++还支持数据抽象、面向对象编程和泛型编程(见The C++ Programming Language (3rd Edition);附录B讨论了C兼容性的问题,该章可以下载。)我从没有见过一个问题用C来表达会比C++更好(我也不相信会有这样的问题,因为每个C的构造显然都有C++的等价物。)然而,还是有一些环境C++不能很好支持,而用C会有好处。关于C++的设计以及它与C的关系的讨论,可以看The Design and Evolution of C++。请注意上面所说的C指的是经典C和C89。C++不是C99的后代,C++和C99是兄弟。C99引入的一些特性有可能会造成C和C++的不兼容。
2006年05月22日 11点05分